/* Il Borgo in tasca sul computer: due layout a scelta del Comune, per tutte e tre le grafiche.
   Caricato dopo app.css e dopo il file della grafica: usa le loro variabili, non ne ha di suoi colori fissi.
     body.lay-portale    menu nella barra in alto, pagine larghe, foto a tutta larghezza, piè di pagina ricco
     body.lay-app        barra laterale ferma (.lato-pc), il contenuto scorre accanto; Chiedi agganciato a destra
     body.con-lato-admin il Pannello del Comune, con la sua barra laterale in tutti e due i casi
   Tutto sta dentro @media (min-width:1024px): telefono e tablet restano esattamente come prima. */

/* pezzi che esistono solo sul computer: spenti di base */
.nav-pc,.chiedi-pc,.lato-pc,.piede-pc,.chiedi-pc-pannello,.lato-admin,.solo-pc{display:none}

@media (min-width:1024px){

  /* ------------------------------------------------------------------ variabili per grafica
     Classica: barra e menu nel colore del Comune; Borgo: la notte stellata; Moderna: superfici chiare */
  body{
    --largo:1200px;
    --lato-fondo:linear-gradient(180deg,var(--primario),var(--primario-scuro));
    --lato-testo:#fff; --lato-tenue:rgba(255,255,255,.78); --lato-attivo:rgba(255,255,255,.17); --lato-attivo-testo:#fff;
    --lato-sopra:rgba(255,255,255,.08); --lato-bordo:rgba(255,255,255,.16);
    --menu-attivo:rgba(255,255,255,.17); --menu-attivo-testo:#fff; --menu-sopra:rgba(255,255,255,.1);
    --banda:linear-gradient(135deg,var(--primario),var(--primario-scuro));
    --piede-fondo:color-mix(in srgb,var(--primario) 32%,#16120f);
  }
  body[data-tema="borgo"]{
    --lato-fondo:var(--cielo-notte),linear-gradient(180deg,#0d2033 0%,#0a1119 55%);
    --lato-tenue:var(--muted-chiaro); --lato-attivo:rgba(227,166,59,.15); --lato-attivo-testo:var(--oro-chiaro);
    --lato-sopra:rgba(255,255,255,.05); --lato-bordo:rgba(255,255,255,.09);
    --menu-attivo:rgba(227,166,59,.15); --menu-attivo-testo:var(--oro-chiaro); --menu-sopra:rgba(255,255,255,.07);
    --banda:var(--cielo-notte),radial-gradient(120% 120% at 75% -10%,#17324a 0%,#0d2033 45%,var(--notte) 80%);
    --piede-fondo:var(--cielo-notte),radial-gradient(120% 120% at 75% -10%,#17324a 0%,#0d2033 45%,var(--notte) 80%);
  }
  body[data-tema="moderno"]{
    --lato-fondo:var(--carta); --lato-testo:var(--testo); --lato-tenue:var(--muted);
    --lato-attivo:var(--tinta); --lato-attivo-testo:var(--primario); --lato-sopra:var(--campo); --lato-bordo:var(--bordo);
    --menu-attivo:var(--tinta); --menu-attivo-testo:var(--primario); --menu-sopra:var(--campo);
    --banda:linear-gradient(135deg,var(--primario),var(--primario-scuro) 70%,color-mix(in srgb,var(--accento) 60%,var(--primario-scuro)));
    --piede-fondo:#14161f;
  }

  .solo-mobile{display:none!important}
  .solo-pc{display:block}
  html{overflow-x:clip}   /* le fasce a tutta larghezza escono dal contenitore: niente scorrimento di lato */

  /* ------------------------------------------------------------------ comune ai due layout */
  body.lay-portale,body.lay-app{padding-bottom:0}
  .lay-portale .bottomnav,.lay-app .bottomnav{display:none}
  .lay-portale .container,.lay-app .container{padding-top:1.6rem;padding-bottom:2.5rem}
  .lay-portale .container-largo,.lay-app .container-largo{max-width:var(--largo);padding-left:32px;padding-right:32px}
  .lay-portale h1,.lay-app h1{font-size:2.1rem}
  .offline-banner{bottom:16px;left:auto;right:16px;border-radius:12px;padding:.5rem 1rem}
  .lay-app .offline-banner{right:16px}
  .sheet-wrap{align-items:center}

  /* strisce da far scorrere col dito -> griglie */
  .lay-portale .scroller,.lay-app .scroller{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;overflow:visible;padding:.2rem 0 .4rem;scroll-snap-type:none}
  .lay-portale .scroller>*,.lay-app .scroller>*{flex:none;margin:0}
  .lay-portale .scroller:has(.card-poi),.lay-app .scroller:has(.card-poi){grid-template-columns:repeat(4,minmax(0,1fr))}
  .lay-portale .scroller>.card-poi:nth-child(n+9),.lay-app .scroller>.card-poi:nth-child(n+9){display:none}
  .lay-portale .griglia-luoghi,.lay-app .griglia-luoghi{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .card-poi{transition:transform .15s,box-shadow .15s}
  .card-poi:hover{transform:translateY(-2px)}
  .card-poi img,.card-poi .poi-ph{aspect-ratio:4/3}
  .card-poi strong{font-size:.98rem}
  .card-poi .breve-pc{display:-webkit-box;margin:.15rem 0 .35rem}

  .section-head h2{font-size:1.55rem}
  .lay-portale section+section,.lay-app section+section{margin-top:2.2rem}

  /* QR "portala con te" e simili */
  svg.qr{display:block;width:96px;height:96px;flex:none;border-radius:10px;background:#fff;padding:4px}

  /* ------------------------------------------------------------------ PORTALE: menu nella barra in alto */
  .lay-portale .topbar{height:72px;padding:0 max(32px,calc(50% - 568px));gap:20px}
  .lay-portale .topbar-brand strong{font-size:1.15rem}
  .lay-portale .nav-pc{display:flex;align-items:center;gap:2px;margin-left:auto;min-width:0}
  body[data-anima="turista"] .nav-pc-cittadino,body:not([data-anima="turista"]) .nav-pc-turista{display:none}
  .nav-pc a{color:inherit;opacity:.85;font-weight:600;font-size:.93rem;padding:.5rem .8rem;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem;transition:background-color .15s,opacity .15s}
  .nav-pc a:hover{opacity:1;background:var(--menu-sopra)}
  .nav-pc a.on{opacity:1;background:var(--menu-attivo);color:var(--menu-attivo-testo)}
  .nav-pc-sep{width:1px;height:24px;background:currentColor;opacity:.2;margin:0 .5rem}
  .nav-pc a.nav-pc-anima{opacity:1}
  .lay-portale .topbar-actions{margin-left:.4rem;align-items:center;gap:.5rem}
  .lay-portale .chiedi-pc{display:inline-flex}
  .chiedi-pc{align-items:center;gap:.55rem;padding:4px 16px 4px 4px;border-radius:999px;font-weight:700;font-size:.93rem;
    background:#fff;color:var(--primario);box-shadow:0 2px 10px rgba(0,0,0,.16);white-space:nowrap}
  .chiedi-pc-bolla{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--primario);color:#fff}
  .chiedi-pc-bolla .ico{width:1.15em;height:1.15em}
  body[data-tema="borgo"] .chiedi-pc{background:rgba(227,166,59,.12);border:1px solid rgba(227,166,59,.42);color:var(--oro-chiaro);box-shadow:none}
  body[data-tema="borgo"] .chiedi-pc-bolla{background:linear-gradient(135deg,var(--oro-chiaro),var(--oro) 45%,var(--oro-scuro));color:#20150a;border:2px solid var(--notte);box-shadow:0 4px 14px rgba(227,166,59,.4)}
  body[data-tema="moderno"] .chiedi-pc{background:var(--primario);color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--primario) 35%,transparent)}
  body[data-tema="moderno"] .chiedi-pc-bolla{background:rgba(255,255,255,.2)}

  /* la barra dell'anteprima (staff) sotto la barra in alto */
  .lay-portale .anteprima-tema{top:84px;left:50%;right:auto;transform:translateX(-50%);max-width:760px}
  .lay-app .anteprima-tema{top:12px;left:calc(272px + 16px);right:16px}
  .con-lato-admin .anteprima-tema{top:12px;left:calc(256px + 16px)}

  /* piè di pagina ricco */
  .lay-portale .piede{display:none}
  .lay-portale .piede-pc{display:block;margin-top:4rem;background:var(--piede-fondo);color:rgba(255,255,255,.72);padding:3.2rem max(32px,calc(50% - 568px)) 1.6rem}
  .piede-pc-colonne{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:40px}
  .piede-pc h4{margin:0 0 .8rem;color:#fff;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}
  .piede-pc a{color:rgba(255,255,255,.72);display:block;padding:.2rem 0;font-size:.92rem}
  .piede-pc a:hover{color:#fff}
  .pp-marchio{display:flex;align-items:center;gap:.7rem;color:#fff}
  .pp-marchio strong{display:block;font-size:1.1rem;line-height:1.15}
  .pp-marchio small{display:block;font-size:.78rem;opacity:.8}
  .pp-marchio .brand-icon{font-size:1.6rem}
  .pp-marchio .brand-icon:has(img){background:#fff;border-radius:12px;padding:2px}
  .pp-brand p{font-size:.92rem;line-height:1.6;margin:1rem 0 0;max-width:34ch}
  .pp-qr{display:flex;gap:1rem;align-items:center;font-size:.88rem;line-height:1.5}
  .piede-pc-fondo{margin-top:2.6rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:1rem;font-size:.82rem}
  .piede-pc-fondo a{display:inline;padding:0}
  body[data-tema="borgo"] .piede-pc .pp-marchio strong{font-family:var(--display)}

  /* ------------------------------------------------------------------ APP: barra laterale ferma */
  .lay-app{padding-left:272px;--largo:1120px}
  .lay-app .topbar{display:none}
  .lay-app .lato-pc{display:flex;flex-direction:column;gap:18px;position:fixed;left:0;top:0;bottom:0;width:272px;z-index:30;
    overflow-y:auto;scrollbar-width:thin;padding:22px 14px 18px;background:var(--lato-fondo);color:var(--lato-testo);
    border-right:1px solid var(--lato-bordo)}
  body[data-tema="moderno"] .lato-pc{scrollbar-color:var(--bordo) transparent}
  .lato-pc a{color:inherit}
  .lato-brand{display:flex;align-items:center;gap:.75rem;padding:0 .4rem}
  .lato-brand strong{display:block;font-size:1.15rem;line-height:1.15}
  .lato-brand small{display:block;font-size:.78rem;color:var(--lato-tenue);font-weight:600}
  .lato-pc .brand-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;font-size:1.4rem;background:var(--lato-sopra)}
  .lato-pc .brand-icon:has(img){background:#fff;padding:2px}
  .lato-pc .brand-icon img{width:40px;height:40px}
  body[data-tema="borgo"] .lato-brand strong{font-family:var(--display)}
  body[data-tema="borgo"] .lato-brand small{color:var(--oro-chiaro)}
  .lato-anime{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--lato-sopra);border-radius:16px;padding:4px}
  .lato-anime a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:.55rem .3rem;border-radius:12px;color:var(--lato-tenue);font-size:.8rem;font-weight:600;text-align:center;line-height:1.2}
  .lato-anime a .ico{font-size:1.1rem}
  body[data-anima="turista"] .lato-anime .a-turista,body:not([data-anima="turista"]) .lato-anime .a-cittadino{background:var(--lato-attivo);color:var(--lato-attivo-testo)}
  .lato-lingue{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;margin-top:-8px;background:var(--lato-sopra);border-radius:12px;padding:3px}
  .lato-lingue button{border:0;background:none;color:var(--lato-tenue);font:inherit;font-size:.75rem;font-weight:700;letter-spacing:.04em;
    padding:.35rem 0;border-radius:9px;cursor:pointer}
  .lato-lingue button:hover{color:var(--lato-testo)}
  .lato-lingue button.active{background:var(--lato-attivo);color:var(--lato-attivo-testo)}
  .lato-nav{display:flex;flex-direction:column;gap:2px}
  body[data-anima="turista"] .lato-nav-cittadino,body:not([data-anima="turista"]) .lato-nav-turista{display:none}
  .lato-nav a{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:12px;color:var(--lato-tenue);font-weight:600;font-size:.95rem;transition:background-color .15s,color .15s}
  .lato-nav a:hover{background:var(--lato-sopra);color:var(--lato-testo)}
  .lato-nav a.on{background:var(--lato-attivo);color:var(--lato-attivo-testo)}
  .lato-nav a .ico{font-size:1.05rem}
  .lato-chiedi{display:flex;gap:.75rem;align-items:center;padding:.8rem;border-radius:18px;background:var(--lato-sopra);border:1px solid var(--lato-bordo)}
  .lato-chiedi strong{display:block;font-size:1rem}
  .lato-chiedi small{display:block;font-size:.76rem;line-height:1.35;color:var(--lato-tenue)}
  .lato-bolla{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:none;background:#fff;color:var(--primario);font-size:1.25rem;box-shadow:0 4px 14px rgba(0,0,0,.2)}
  .lato-chiedi.on,.chiedi-aperto .lato-chiedi{background:var(--lato-attivo);border-color:transparent}
  body[data-tema="borgo"] .lato-chiedi{background:linear-gradient(135deg,rgba(240,192,105,.2),rgba(227,166,59,.06));border-color:rgba(227,166,59,.4)}
  body[data-tema="borgo"] .lato-chiedi strong{color:var(--oro-chiaro)}
  body[data-tema="borgo"] .lato-bolla{background:linear-gradient(135deg,var(--oro-chiaro),var(--oro) 45%,var(--oro-scuro));color:#20150a;border:3px solid var(--notte);box-shadow:0 6px 20px rgba(227,166,59,.45)}
  body[data-tema="borgo"] .chiedi-aperto .lato-chiedi,body[data-tema="borgo"] .lato-chiedi.on{background:linear-gradient(135deg,rgba(240,192,105,.34),rgba(227,166,59,.14))}
  body[data-tema="moderno"] .lato-bolla{background:linear-gradient(135deg,var(--primario),var(--primario-scuro));color:#fff}
  .lato-qr{display:flex;gap:.75rem;align-items:center;padding:.7rem;border-radius:14px;background:var(--lato-sopra);font-size:.76rem;line-height:1.4;color:var(--lato-tenue)}
  .lato-qr svg.qr{width:64px;height:64px;padding:3px;border-radius:8px}
  .lato-qr strong{display:block;color:var(--lato-testo);font-size:.84rem}
  .lato-piede{font-size:.76rem;color:var(--lato-tenue);padding:0 .4rem}
  .lato-piede a{color:var(--lato-tenue);text-decoration:underline}
  .lay-app .piede{max-width:var(--largo);margin:1rem auto 1.4rem;padding:1.2rem 32px 0;border-top:1px solid var(--bordo);flex-direction:row;justify-content:space-between}

  /* ------------------------------------------------------------------ APP: Chiedi agganciato a destra */
  .chiedi-aperto .chiedi-pc-pannello{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;width:400px;z-index:35;
    background:var(--carta);color:var(--testo);border-left:1px solid var(--bordo);box-shadow:-18px 0 50px rgba(0,0,0,.12);animation:fade .2s ease}
  .lay-app.chiedi-aperto{padding-right:400px}
  .cpp-testa{display:flex;align-items:center;gap:.7rem;padding:16px 16px 14px 20px;border-bottom:1px solid var(--bordo)}
  .cpp-titolo{flex:1;min-width:0}
  .cpp-titolo strong{display:block;font-size:1.1rem}
  .cpp-titolo small{display:block;color:var(--muted);font-size:.78rem;line-height:1.3}
  body[data-tema="borgo"] .cpp-titolo strong{font-family:var(--display)}
  .cpp-btn{width:36px;height:36px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--sfondo);color:var(--testo);cursor:pointer;flex:none}
  .cpp-btn:hover{background:var(--bordo)}
  .cpp-chat{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 16px 12px;background:var(--sfondo)}
  .cpp-chat .chat-msgs{flex:1;min-height:0;overflow-y:auto;padding:16px 4px 8px}
  .cpp-chat .msg{max-width:94%;font-size:.94rem}
  .cpp-chat .chat-sugg{flex-wrap:wrap;overflow:visible;padding:.3rem 0 .4rem}
  .cpp-chat .chat-sugg .chip{font-size:.8rem;cursor:pointer}
  .cpp-chat .chat-form{margin-top:.4rem}
  .cpp-chat .chat-nota{font-size:.72rem;line-height:1.4;margin:.5rem 0 0;text-align:left}

  /* ------------------------------------------------------------------ home del visitatore */
  .lay-portale .home-visita{padding-top:0}
  .home-visita .hero-visita{display:flex;flex-direction:column;justify-content:flex-end;position:relative}
  .home-visita .hero-visita.hero-foto{aspect-ratio:auto;max-height:none;background-position:center 40%}
  .home-visita .hero-visita h1{font-size:4.4rem;line-height:1.02;margin:0 0 .6rem}
  .home-visita .hero-visita p{font-size:1.15rem;max-width:60ch;line-height:1.55}
  .home-visita .hero-stat{margin-top:1.2rem}
  .lay-portale .home-visita .hero-visita{margin:0 calc(50% - 50vw);border-radius:0;min-height:580px;padding:2rem max(32px,calc(50vw - 568px)) 128px}
  .lay-portale .home-visita .hero-visita:not(.hero-foto){min-height:380px}
  .lay-app .home-visita .hero-visita{min-height:440px;border-radius:28px;padding:40px 44px;margin:0 0 1.4rem}
  .lay-app .home-visita .hero-visita:not(.hero-foto){min-height:300px}
  .lay-app .home-visita .hero-visita h1{font-size:3.6rem}
  .home-visita .hero-visita::after{display:none}
  /* velatura a sinistra, dove sta il testo: la foto resta viva a destra. Abbastanza piena da reggere
     anche le foto con il cielo chiaro o la pietra bianca dietro le parole (Casperia) */
  .home-visita .hero-visita.hero-foto::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    background:linear-gradient(90deg,rgba(8,14,20,.74),rgba(8,14,20,.5) 42%,rgba(8,14,20,0) 72%)}
  .home-visita .hero-visita.hero-foto{text-shadow:0 1px 2px rgba(0,0,0,.55),0 2px 16px rgba(0,0,0,.4)}
  .home-visita .hero-visita>*{position:relative;z-index:1}
  /* le azioni: una riga; nel Portale salgono sulla foto */
  .home-visita .azioni-visita{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .home-visita .azioni-visita:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
  .lay-portale .home-visita .azioni-visita{margin-top:-76px;position:relative;z-index:2}
  .home-visita .card-azione{margin:0;align-items:flex-start;padding:1.2rem}
  .home-visita .card-azione > .muted:last-child{display:none}
  .home-visita .card-qr-pc{display:flex;align-items:center;gap:.9rem}
  .home-visita .card-qr-pc svg.qr{width:78px;height:78px;padding:3px;border:1px solid var(--bordo)}
  .home-visita .card-qr-pc .muted{font-size:.84rem;line-height:1.4}
  /* viaggio nel tempo: la firma grande a sinistra, i percorsi impilati a destra */
  .tempo-griglia:has(.card-tempo){display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start}
  .tempo-griglia .card-tempo{margin:0}
  .tempo-griglia .tempo-split{aspect-ratio:16/8.5}
  .tempo-pila{display:flex;flex-direction:column;gap:18px}
  .tempo-pila .card{margin:0}
  .tempo-pila .card-percorso{display:flex;align-items:flex-start;gap:.9rem}   /* mostra anche le audioguide (.pila-pc) */
  .tempo-pila .percorso-icona{display:grid}
  .griglia-2-pc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .griglia-2-pc>.card{margin:0}
  .griglia-2-pc>.vuoto,.griglia-2-pc>.card:only-child{grid-column:1 / -1}   /* uno solo: tutta la riga, non mezza */
  /* pagina Percorsi: viaggi nel tempo e audioguide affiancati, una colonna per gruppo; i sentieri sotto */
  .percorsi-guidati{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;align-items:start}
  .percorsi-guidati>.gruppo-percorsi .griglia-2-pc{grid-template-columns:minmax(0,1fr)}
  .percorsi-guidati>.gruppo-percorsi:only-child{grid-column:1 / -1}
  .percorsi-guidati>.gruppo-percorsi:only-child .griglia-2-pc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gruppo-percorsi>h2{margin-top:1.8rem}
  /* un percorso: intestazione da leggere, poi mappa grande a sinistra e tappe a destra */
  .percorso>.lead{max-width:72ch}
  .percorso>.cover{width:100%;max-height:380px;object-fit:cover;border-radius:22px}
  .percorso-corpo.con-tappe{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:1.2rem}
  .percorso-mappa{display:flex;flex-direction:column}
  .percorso-mappa .mappa{order:1;height:min(62vh,560px);margin:0}
  .percorso-mappa .azioni{order:2}
  .percorso-mappa>.card{order:3;margin-top:1rem}
  .percorso-tappe>h2{margin-top:0}
  .percorso-tappe .tappe .riga{margin:0 0 .6rem}
  .sentieri-lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .sentieri-lista>.riga{margin:0;padding:1rem}
  .sentieri-lista .mini-traccia{width:88px;height:56px;background:color-mix(in srgb,var(--primario) 7%,var(--carta));border-radius:12px}

  /* ------------------------------------------------------------------ home del cittadino */
  .lay-portale .home-comune{padding-top:0}
  .home-comune .hc-testa .hero-comune::after{display:none}
  /* Portale: saluto e "stasera esponi" in una fascia a tutta larghezza */
  .lay-portale .hc-testa{margin:0 calc(50% - 50vw) 0;padding:3rem max(32px,calc(50vw - 568px)) 3.2rem;background:var(--banda);color:#fff;
    display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:48px;align-items:center}
  .lay-portale .hc-testa .hero-comune{background:none;padding:0;margin:0;border-radius:0;color:#fff;box-shadow:none}
  .lay-portale .hc-testa .hero-comune h1{font-size:3.4rem;color:#fff}
  .lay-portale .hc-testa .hero-comune p{color:rgba(255,255,255,.82);font-size:1.1rem;margin-top:.3rem}
  .lay-portale .hc-testa .card-rifiuti{margin:0;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-left:5px solid #5be08a;
    color:#fff;box-shadow:none;backdrop-filter:blur(8px);padding:1.2rem 1.4rem;border-radius:20px}
  .lay-portale .hc-testa .card-rifiuti .muted{color:rgba(255,255,255,.78)}
  .lay-portale .hc-testa .card-rifiuti a{color:#fff;font-weight:700}
  .lay-portale .hc-corpo{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:start;margin-top:.8rem}
  .lay-portale .hc-lato{display:flex;flex-direction:column;gap:18px;margin-top:2.6rem}
  .lay-portale .hc-esponi{display:none}
  .home-comune .hc-eventi .scroller{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-comune .hc-eventi .scroller>:nth-child(n+5){display:none}
  .hc-borgo{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:2.2rem;padding:2rem 2.2rem;border-radius:24px;color:#fff;
    background-color:#1f5a4a;background-size:cover;background-position:center 35%}
  .hc-borgo h3{font-size:1.6rem;margin:0;color:#fff}
  .hc-borgo p{margin:.3rem 0 0;color:rgba(255,255,255,.88);max-width:46ch}
  .hc-borgo .btn{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff;flex:none}
  body[data-tema="borgo"] .hc-borgo h3{font-family:var(--display)}
  .hc-lato .card{margin:0}
  .hc-lato h3,.hc-settimana h3,.hc-servizi h3{display:flex;align-items:center;gap:.5rem;margin:0 0 .7rem;font-size:1.1rem}
  .settimana-pc{display:flex;flex-direction:column;gap:2px}
  .sg{display:flex;align-items:center;gap:.6rem;padding:.4rem .6rem;border-radius:12px;flex-wrap:wrap}
  .sg b{width:2.8rem;font-size:.8rem;text-transform:uppercase;color:var(--muted)}
  .sg .badge-rifiuto{margin:0}
  .sg.domani{background:color-mix(in srgb,var(--accento) 13%,var(--carta));box-shadow:inset 0 0 0 2px var(--accento)}
  .sg.domani b{color:var(--testo)}
  .sg-esponi{margin-left:auto;font-size:.76rem;font-weight:700;color:var(--testo)}
  .hc-lato .tutto{display:inline-block;margin-top:.6rem;font-size:.85rem;font-weight:600}
  .hc-servizi .servizio-pc{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--bordo)}
  .hc-servizi .servizio-pc:last-of-type{border-bottom:0}
  .hc-servizi .servizio-pc strong{display:block;font-size:.92rem}
  .hc-servizi .servizio-pc small{display:block;color:var(--muted);font-size:.78rem;line-height:1.35}
  .hc-servizi .servizio-pc a{font-weight:700;white-space:nowrap;font-size:.9rem}
  .hc-segnala{display:flex;gap:.9rem;align-items:center;color:#fff;background:linear-gradient(135deg,var(--primario),var(--primario-scuro));border:0}
  .hc-segnala strong{display:block}
  .hc-segnala small{color:rgba(255,255,255,.82)}
  .hc-segnala .hc-ico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.16);font-size:1.25rem;flex:none}
  .hc-qr{display:flex;gap:1rem;align-items:center}
  .hc-qr strong{display:block;margin-bottom:.2rem}
  .hc-qr .muted{font-size:.84rem;line-height:1.45}
  /* App: una plancia a riquadri, tutto a colpo d'occhio */
  .lay-app .hc-testa .hero-comune{background:none;padding:.2rem 0 1.2rem;margin:0;border-radius:0;color:var(--testo);box-shadow:none}
  .lay-app .hc-testa .hero-comune h1{font-size:2.6rem;color:var(--testo)}
  .lay-app .hc-testa .hero-comune p{color:var(--muted)}
  .lay-app .hc-testa .card-rifiuti{display:none}
  .lay-app .hc-corpo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
  .lay-app .hc-principale,.lay-app .hc-lato{display:contents}
  .lay-app .hc-settimana{grid-column:1;grid-row:1;align-self:stretch}
  .lay-app .hc-avvisi{grid-column:2 / 4;grid-row:1;align-self:stretch}
  .lay-app .hc-eventi{grid-column:1}
  .lay-app .hc-servizi{grid-column:2}
  .lay-app .hc-segnalazioni{grid-column:3}
  .lay-app .hc-segnala{grid-column:3}
  .lay-app .hc-borgo,.lay-app .hc-qr{display:none}
  .lay-app .hc-avvisi,.lay-app .hc-eventi,.lay-app .hc-segnalazioni{background:var(--carta);border-radius:var(--raggio);padding:1.2rem 1.3rem;box-shadow:var(--ombra);margin:0}
  body[data-tema="moderno"].lay-app .hc-avvisi,body[data-tema="moderno"].lay-app .hc-eventi,body[data-tema="moderno"].lay-app .hc-segnalazioni{border:1px solid var(--bordo)}
  .lay-app .hc-corpo .section-head h2{font-size:1.15rem;margin-top:0}
  .lay-app .hc-avvisi .card,.lay-app .hc-eventi .card,.lay-app .hc-segnalazioni .riga{box-shadow:none;background:var(--sfondo);border-color:transparent;margin:.5rem 0 0}
  .lay-app .hc-eventi .scroller{grid-template-columns:1fr;gap:0}
  .lay-app .hc-eventi .scroller>:nth-child(n+4){display:none}
  .lay-app .hc-settimana{background:var(--banda);color:#fff;border:0}
  .lay-app .hc-settimana h3{color:#fff}
  .lay-app .hc-settimana .sg b{color:rgba(255,255,255,.7)}
  .lay-app .hc-settimana .sg.domani{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
  body[data-tema="borgo"].lay-app .hc-settimana .sg.domani{background:rgba(227,166,59,.16);box-shadow:inset 0 0 0 1.5px var(--oro)}
  .lay-app .hc-settimana .sg.domani b,.lay-app .hc-settimana .sg-esponi{color:#fff}
  .lay-app .hc-settimana .muted{color:rgba(255,255,255,.7)}
  .lay-app .hc-settimana a{color:#fff}
  .hc-esponi{margin-bottom:1rem}
  .hc-esponi small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
  .hc-esponi strong{display:block;font-size:1.7rem;line-height:1.15;margin:.15rem 0}
  body[data-tema="borgo"] .hc-esponi small{color:var(--oro-chiaro);opacity:1}
  body[data-tema="borgo"] .hc-esponi strong{font-family:var(--display);font-weight:600}

  /* ------------------------------------------------------------------ scheda di un luogo */
  .poi-testa.con-foto{position:relative;border-radius:26px;overflow:hidden;margin:.4rem 0 0}
  .poi-testa.con-foto .cover{display:block;width:100%;height:480px;max-height:none;object-fit:cover;border-radius:0;margin:0}
  .lay-app .poi-testa.con-foto .cover{height:460px}
  .poi-testa.con-foto::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(90deg,rgba(8,14,20,.55),rgba(8,14,20,0) 60%),linear-gradient(180deg,rgba(8,14,20,0) 35%,rgba(8,14,20,.82))}
  .poi-testa.con-foto .poi-titolo{position:absolute;left:48px;right:48px;bottom:40px;z-index:2;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.45)}
  .poi-testa.con-foto h1{font-size:4rem;line-height:1.05;margin:0 0 .6rem;color:#fff}
  .poi-testa.con-foto h1>span:first-child{display:none}
  .poi-testa.con-foto .lead{color:rgba(255,255,255,.94);font-size:1.15rem;max-width:62ch;margin:0}
  .poi-testa.con-foto .lingue{position:absolute;top:18px;right:18px;z-index:2;margin:0}
  .poi-testa.con-foto .lingue button{background:rgba(10,17,25,.5);color:#fff;border-color:rgba(255,255,255,.28);backdrop-filter:blur(6px)}
  .poi-testa.con-foto .lingue button.active{background:var(--primario);border-color:var(--primario)}
  .poi-testa.con-foto .credito{position:absolute;right:18px;bottom:12px;z-index:2;margin:0;color:rgba(255,255,255,.75)}
  .poi-testa:not(.con-foto) h1{font-size:2.6rem}
  .poi-corpo{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:start;margin-top:1.6rem}
  .poi-principale{min-width:0}
  .poi-principale>.card:first-child,.poi-principale>.descr-luogo:first-child{margin-top:0}
  .poi-principale .descr-luogo .testo{max-width:70ch;font-size:1.06rem;line-height:1.75}
  .poi-principale .descr-luogo .clamp-3{display:block;-webkit-line-clamp:unset;overflow:visible}
  .poi-principale #descr-espandi{display:none}
  .poi-principale .strato img,.poi-principale .strato-ph{aspect-ratio:16/9}
  /* la Finestra sul passato usa la fotocamera sul posto: dal computer non serve */
  .lay-portale #btn-finestra,.lay-app #btn-finestra,.lay-portale #btn-finestra+p,.lay-app #btn-finestra+p{display:none}
  .poi-lato{display:flex;flex-direction:column;gap:18px}
  .poi-lato .card{margin:0}
  .poi-lato h3{display:flex;align-items:center;gap:.5rem;margin:0 0 .6rem;font-size:1.1rem}
  .poi-info>p.muted>.ico:first-child{display:none}   /* l'orologio c'è già nel titolo del riquadro */
  .poi-chiedi{background:var(--banda);color:#fff;border:0}
  .poi-chiedi h3{color:#fff}
  .poi-chiedi p{color:rgba(255,255,255,.82);font-size:.9rem;margin:.2rem 0 .8rem}
  .poi-chiedi .chip{display:inline-block;margin:0 .35rem .45rem 0;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff;font-size:.82rem;white-space:normal;text-align:left}
  .poi-chiedi .chip:hover{background:rgba(255,255,255,.18)}
  .poi-vicino{display:flex;gap:.75rem;align-items:center;padding:.45rem 0;color:inherit}
  .poi-vicino img,.poi-vicino .poi-ph{width:64px;height:52px;border-radius:12px;object-fit:cover;flex:none;aspect-ratio:auto;margin:0;font-size:1.3rem}
  .poi-vicino strong{display:block;font-size:.93rem;line-height:1.3}
  .poi-vicino small{color:var(--muted);font-size:.8rem}

  /* ------------------------------------------------------------------ Chiedi (pagina) */
  /* la chat del personaggio dentro la scheda del luogo resta della sua misura, in tutti e due i layout */
  .lay-portale .chat:not(.chat-inline),.lay-app .chat:not(.cpp-chat):not(.chat-inline){max-width:820px;margin:0 auto;min-height:calc(100vh - 72px - 8rem)}
  .lay-app .chat:not(.cpp-chat):not(.chat-inline){min-height:calc(100vh - 8rem)}
  .chat-sugg{flex-wrap:wrap}

  /* ------------------------------------------------------------------ mappa a tutto schermo */
  /* la mappa prende lo spazio che resta sotto barra e avvisi, qualunque altezza abbiano */
  body.pagina-mappa.lay-portale,body.pagina-mappa.lay-app{display:flex;flex-direction:column;height:100vh;overflow:hidden}
  .pagina-mappa.lay-portale .mappa-full,.pagina-mappa.lay-app .mappa-full{flex:1;min-height:0;width:100%}
  .pagina-mappa.lay-portale .mappa-full .mappa,.pagina-mappa.lay-app .mappa-full .mappa{height:100%}
  .lay-portale .pagina-mappa .piede-pc,.lay-app .pagina-mappa .piede{display:none}
  .lay-portale.pagina-mappa .piede-pc,.lay-app.pagina-mappa .piede{display:none}
  /* legenda e pulsanti stanno sulla mappa, non sulla finestra: niente sovrapposizioni con barre e avvisi */
  .lay-portale .mappa-full,.lay-app .mappa-full{position:relative}
  .lay-portale .mappa-toolbar,.lay-app .mappa-toolbar{position:absolute;bottom:20px;left:auto;right:20px}
  .lay-portale .mappa-legenda,.lay-app .mappa-legenda{position:absolute;top:16px;left:16px}
  .vicino-toast{bottom:24px}

  /* ------------------------------------------------------------------ PANNELLO DEL COMUNE: barra laterale */
  body.con-lato-admin{padding-left:256px;padding-bottom:0}
  .con-lato-admin .topbar,.con-lato-admin .bottomnav,.con-lato-admin #sheet-altro{display:none}
  .con-lato-admin .container{max-width:1100px;padding:1.6rem 36px 3rem}
  .con-lato-admin .lato-admin{display:flex;flex-direction:column;gap:10px;position:fixed;left:0;top:0;bottom:0;width:256px;z-index:30;overflow-y:auto;scrollbar-width:thin;
    padding:20px 12px 14px;background:linear-gradient(180deg,var(--primario),var(--primario-scuro));color:#fff}
  body[data-tema="borgo"].con-lato-admin .lato-admin{background:var(--cielo-notte),linear-gradient(180deg,#0d2033 0%,#0a1119 55%)}
  .lato-admin a{color:inherit}
  .lato-admin .lato-brand{margin-bottom:6px}
  .lato-admin .brand-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none;font-size:1.3rem;background:rgba(255,255,255,.12)}
  .lato-admin .brand-icon:has(img){background:#fff;padding:2px}
  .lato-admin .brand-icon img{width:38px;height:38px}
  .lato-admin .lato-brand small{color:rgba(255,255,255,.72)}
  body[data-tema="borgo"] .lato-admin .lato-brand small{color:var(--oro-chiaro)}
  .lato-admin nav{display:flex;flex-direction:column;gap:1px}
  .lato-admin .gruppo{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);padding:.8rem .75rem .25rem}
  .lato-admin nav a{display:flex;align-items:center;gap:.7rem;padding:.5rem .75rem;border-radius:11px;color:rgba(255,255,255,.8);font-weight:600;font-size:.92rem}
  .lato-admin nav a:hover{background:rgba(255,255,255,.07);color:#fff}
  .lato-admin nav a.on{background:rgba(255,255,255,.16);color:#fff}
  body[data-tema="borgo"] .lato-admin nav a.on{background:rgba(227,166,59,.15);color:var(--oro-chiaro)}
  .lato-admin .lato-fondo{margin-top:auto;padding:.8rem .5rem 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:.2rem .9rem;font-size:.8rem}
  .lato-admin .lato-fondo a{display:inline-flex;align-items:center;gap:.35rem;color:rgba(255,255,255,.72)}
  .lato-admin .lato-fondo a:hover{color:#fff}
  .con-lato-admin .stat-tiles.grid-2{grid-template-columns:repeat(4,minmax(0,1fr))}
  .con-lato-admin .temi{grid-template-columns:repeat(auto-fill,220px)}
  /* i campi dei moduli riempiono la scheda: niente colonna stretta con il bianco a destra */

  /* ------------------------------------------------------------------ CONSOLE: pagine larghe */
  .container-ampio{padding-left:32px;padding-right:32px}
  .container-ampio .stat-tiles.grid-2{grid-template-columns:repeat(4,minmax(0,1fr))}
  .coppia-pc{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.6rem 0}
  .coppia-pc>.card{margin:0}
}
