@charset 'UTF-8';
/* prova 33 */
*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

/*--- base ---*/
:root {
  --border-radius-lg: 70px;
  --border-radius-md: 40px;
  /* ===================================================================
     SQUIRCLE TUNING KNOBS
     Una variabile dedicata per ogni elemento che ha clip-path squircle.
     Modificabile live da console DevTools per trovare i valori ottimi:
       document.documentElement.style.setProperty('--r-cal-day', '25px')
     Ogni selettore consuma SOLO la propria variabile -> tunare uno non
     altera gli altri. Per asimmetrici (.link-*, .element-company) ci
     sono piu' variabili per elemento (tl/tr/br/bl o top/bottom).
     =================================================================== */

  /* --- pagina principale --- */
  --r-block: 15px;            /* .element-multiple-block */
  --r-btn: 9px;              /* .element-multiple-block.element-btn (condividi/qr/dati) */
  --r-footer: 15px;           /* .element-footer */
  --r-logo: 10px;             /* .element-company .element-company-logo img */
  --r-company-top: 20px;      /* .element-company angoli superiori */
  --r-company-bottom: 15px;   /* .element-company angoli inferiori */
  --r-company-near: 15px;     /* .element-company-near (block-style simmetrico) */
  /* .link-reapiti-msg - 4 raggi indipendenti */
  --r-reapiti-tl: 20px;
  --r-reapiti-tr: 15px;
  --r-reapiti-br: 20px;
  --r-reapiti-bl: 20px;

  /* blocchi della home/here (sei qui) */
  --r-here-cerca: 25px;
  --r-here-trova: 20px;

  /* form segnalazione */
  --r-squircle-invia: 9px;     /* bottone Invia → shape --squircle-invia */
  --r-squircle-dropzone: 10px;  /* drop zone upload → shape --squircle-dropzone */

  /* pannello ricerca (#eccoci-srch-*) — una knob per ogni elemento */
  --r-squircle-cities-list: 9px;       /* #eccocisrchCitiesList */
  --r-squircle-btn-posizione: 9px;     /* #eccocisrchBtnUsaPosizione */
  --r-squircle-city-search-box: 9px;   /* .eccoci-srch-city-search-box */
  --r-squircle-input-bar: 9px;         /* #eccocisrchInputBar */
  --r-squircle-submit-btn: 6px;        /* #eccocisrchSubmitBtn */
  --r-squircle-cerca-citta: 9px;       /* #eccocisrchBtnCercaCitta */
  --r-squircle-city-chip: 7px;         /* .eccoci-srch-city-chip */
  --r-squircle-nuova-ricerca: 10px;    /* .btn-nuova-ricerca (bottone "Effettua nuova ricerca") */
  --r-squircle-nuova-ricerca-interno: 9px;    /* .btn-nuova-ricerca (bottone "Effettua nuova ricerca") */

  /* --- link asimmetrici (4 raggi indipendenti per ognuno) --- */
  --r-link-da-link-tl: 20px;
  --r-link-da-link-tr: 10px;
  --r-link-da-link-br: 20px;
  --r-link-da-link-bl: 20px;

  --r-link-dipendenti-tl: 20px;
  --r-link-dipendenti-tr: 10px;
  --r-link-dipendenti-br: 20px;
  --r-link-dipendenti-bl: 20px;

  --r-link-da-social-tl: 15px;
  --r-link-da-social-tr: 15px;
  --r-link-da-social-br: 15px;
  --r-link-da-social-bl: 15px;

  /* --- pulsanti interni --- */
  --r-btn-tel-mail: 12px;       /* .btn-link-tel-mail */
  --r-btn-azienda-info: 12px;   /* .btn-azienda-info */
  --r-btn-azienda-sedi: 12px;   /* .btn-azienda-sedi */
  --r-dip-icon: 8px;           /* .link-dipendenti .img img (icona) */

  /* --- modal calendar --- */
  --r-cal-li: 20px;           /* .modal-content ul.calendar-days li */
  --r-cal-li-rosso: 20px;     /* .modal-content ul.calendar-days li.li-rosso */
  --r-cal-day: 15px;          /* .modal-content ul.calendar-days li .day */
  --r-cal-call: 8px;          /* .notes .call (pulsante "Chiama") */
  --r-cal-aperto-chiuso: 8px; /* .notes-aperto-chiuso (badge orario) */
  --r-cal-notes-appuntamento: 6px; /* .notes-appuntamento (etichetta appuntamento) */
  /* ===================================================================
     Fancy-frame clip-path (sorgente: css-generators.com/fancy-frame).
     `--squircle-r` controlla la dimensione della corner-zone in px.
     I 3 offset derivati (10.25 / 20.5 / 45.25 nel sample r=70) sono
     inlineati direttamente come calc() dentro --squircle: NON usiamo
     variabili intermedie perche' in alcuni motori il loro computed
     value viene calcolato a livello :root e propagato come valore fisso
     ai figli, ignorando l'override di --squircle-r sul figlio stesso.
     Inlineando i calc(), l'unico var() e' --squircle-r e si risolve
     sul consumer, quindi l'override per famiglia funziona.
     Coefficienti: 0.1464 = (1 - sqrt(2)/2)/2  (era 10.25 con r=70)
                   0.2929 = 1 - sqrt(2)/2      (era 20.5  con r=70)
                   0.6464 = (1 + sqrt(2)/2)/2  (era 45.25 con r=70)
     Compatibilita': richiede `clip-path: shape()` (Chrome 124+, Safari 18.4+).
     =================================================================== */
  --squircle-r: 15px;
  --squircle: shape(
  from calc(var(--squircle-r) * 1.5) calc(var(--squircle-r) * 0.1),
  curve to calc(50% + 0px) 0px 
    with calc(var(--squircle-r) * 2) 0px,
  curve to calc(100% - var(--squircle-r) * 1.5) calc(var(--squircle-r) * 0.1) 
    with calc(100% - var(--squircle-r) * 2) 0px,
  curve to calc(100% - var(--squircle-r) * 0.1) calc(var(--squircle-r) * 1.5) 
    with calc(100% - var(--squircle-r) * 0.3333) calc(var(--squircle-r) * 0.3333),
  curve to calc(100% - 0px) calc(50% + 0px) 
    with calc(100% - 0px) calc(var(--squircle-r) * 2),
  curve to calc(100% - var(--squircle-r) * 0.1) calc(100% - var(--squircle-r) * 1.5) 
    with calc(100% - 0px) calc(100% - var(--squircle-r) * 2),
  curve to calc(100% - var(--squircle-r) * 1.5) calc(100% - var(--squircle-r) * 0.1) 
    with calc(100% - var(--squircle-r) * 0.3333) calc(100% - var(--squircle-r) * 0.3333),
  curve to calc(50% - 0px) calc(100% - 0px) 
    with calc(100% - var(--squircle-r) * 2) calc(100% - 0px),
  curve to calc(var(--squircle-r) * 1.5) calc(100% - var(--squircle-r) * 0.1) 
    with calc(var(--squircle-r) * 2) calc(100% - 0px),
  curve to calc(var(--squircle-r) * 0.1) calc(100% - var(--squircle-r) * 1.5) 
    with calc(var(--squircle-r) * 0.3333) calc(100% - var(--squircle-r) * 0.3333),
  curve to 0px calc(50% - 0px) 
    with 0px calc(100% - var(--squircle-r) * 2),
  curve to calc(var(--squircle-r) * 0.1) calc(var(--squircle-r) * 1.5) 
    with 0px calc(var(--squircle-r) * 2),
  curve to calc(var(--squircle-r) * 1.5) calc(var(--squircle-r) * 0.1) 
    with calc(var(--squircle-r) * 0.3333) calc(var(--squircle-r) * 0.3333)
);
  --squircle-logo-r: 10px;
  --squircle-logo: shape(
  from calc(var(--squircle-logo-r) * 1.5) calc(var(--squircle-logo-r) * 0.1),
  curve to calc(50% + 0px) 0px 
    with calc(var(--squircle-logo-r) * 2) 0px,
  curve to calc(100% - var(--squircle-logo-r) * 1.5) calc(var(--squircle-logo-r) * 0.1) 
    with calc(100% - var(--squircle-logo-r) * 2) 0px,
  curve to calc(100% - var(--squircle-logo-r) * 0.1) calc(var(--squircle-logo-r) * 1.5) 
    with calc(100% - var(--squircle-logo-r) * 0.3333) calc(var(--squircle-logo-r) * 0.3333),
  curve to calc(100% - 0px) calc(50% + 0px) 
    with calc(100% - 0px) calc(var(--squircle-logo-r) * 2),
  curve to calc(100% - var(--squircle-logo-r) * 0.1) calc(100% - var(--squircle-logo-r) * 1.5) 
    with calc(100% - 0px) calc(100% - var(--squircle-logo-r) * 2),
  curve to calc(100% - var(--squircle-logo-r) * 1.5) calc(100% - var(--squircle-logo-r) * 0.1) 
    with calc(100% - var(--squircle-logo-r) * 0.3333) calc(100% - var(--squircle-logo-r) * 0.3333),
  curve to calc(50% - 0px) calc(100% - 0px) 
    with calc(100% - var(--squircle-logo-r) * 2) calc(100% - 0px),
  curve to calc(var(--squircle-logo-r) * 1.5) calc(100% - var(--squircle-logo-r) * 0.1) 
    with calc(var(--squircle-logo-r) * 2) calc(100% - 0px),
  curve to calc(var(--squircle-logo-r) * 0.1) calc(100% - var(--squircle-logo-r) * 1.5) 
    with calc(var(--squircle-logo-r) * 0.3333) calc(100% - var(--squircle-logo-r) * 0.3333),
  curve to 0px calc(50% - 0px) 
    with 0px calc(100% - var(--squircle-logo-r) * 2),
  curve to calc(var(--squircle-logo-r) * 0.1) calc(var(--squircle-logo-r) * 1.5) 
    with 0px calc(var(--squircle-logo-r) * 2),
  curve to calc(var(--squircle-logo-r) * 1.5) calc(var(--squircle-logo-r) * 0.1) 
    with calc(var(--squircle-logo-r) * 0.3333) calc(var(--squircle-logo-r) * 0.3333)
);

  /* ===================================================================
     --squircle-bottoni: "iOS continuous corner" rounded-rect adattivo.
     Geometria base (versione Federico):
       - offset di partenza da angolo: r * 2.5  (curva LUNGA che scivola
         verso il vertice = look iOS, non quarter-circle Android)
       - control points cubic a r * 0.1 dal vertice (= alpha 0.9, curva
         "stretta" al corner, lati lunghi dritti)
     Adattamento alla dimensione del contenuto via min(..., 49%):
       - CSS shape() interpreta le % come % di width sull'asse X e % di
         height sull'asse Y, quindi la STESSA espressione `min(r*2.5, 49%)`
         si auto-clampa a 49% di W per gli offset orizzontali e a 49% di H
         per quelli verticali. Su pulsanti stretti (es. h=28, r=12, r*2.5=30
         > h/2=14) l'offset verticale si clampa a 13.72 -> curva non
         sfora, look "pillola squircle" quasi tangente. Su pulsanti grandi
         (w=300, h=60, r=10, r*2.5=25 < min(W,H)/2) il clamp e' inerte e
         il look e' identico alla versione non clampata.
     --squircle-bottoni-r controlla solo questa forma.
     =================================================================== */
  --squircle-bottoni-r: 10px;
  --squircle-bottoni: shape(
    from calc(var(--squircle-bottoni-r) * 2.5) 0px,
    hline to calc(100% - var(--squircle-bottoni-r) * 2.5),
    curve to calc(100% - 0px) calc(var(--squircle-bottoni-r) * 2.5)
        with calc(100% - var(--squircle-bottoni-r) * 0.1) 0px
        / calc(100% - 0px) calc(var(--squircle-bottoni-r) * 0.1),
    vline to calc(100% - var(--squircle-bottoni-r) * 2.5),
    curve to calc(100% - var(--squircle-bottoni-r) * 2.5) calc(100% - 0px)
        with calc(100% - 0px) calc(100% - var(--squircle-bottoni-r) * 0.1)
        / calc(100% - var(--squircle-bottoni-r) * 0.1) calc(100% - 0px),
    hline to calc(var(--squircle-bottoni-r) * 2.5),
    curve to 0px calc(100% - var(--squircle-bottoni-r) * 2.5)
        with calc(var(--squircle-bottoni-r) * 0.1) calc(100% - 0px)
        / 0px calc(100% - var(--squircle-bottoni-r) * 0.1),
    vline to calc(var(--squircle-bottoni-r) * 2.5),
    curve to calc(var(--squircle-bottoni-r) * 2.5) 0px
        with 0px calc(var(--squircle-bottoni-r) * 0.1)
        / calc(var(--squircle-bottoni-r) * 0.1) 0px
  );

  /* ===================================================================
     --squircle-card: forma asimmetrica per il contenitore .element-company
     (e simili). Top piu' rotondo, bottom meno. Due raggi indipendenti:
       --squircle-card-top-r    angoli superiori (TL + TR)
       --squircle-card-bottom-r angoli inferiori (BL + BR)
     Stesso approccio cubic-bezier del --squircle-bottoni (coefficiente 0.45)
     ma con r diverso per top/bottom -> angoli asimmetrici.
     =================================================================== */
  --squircle-card-top-r: 25px;
  --squircle-card-bottom-r: 20px;
  --squircle-card: shape(
    from var(--squircle-card-top-r) 0px,
    hline to calc(100% - var(--squircle-card-top-r)),
    curve to calc(100% - 0px) var(--squircle-card-top-r) with calc(100% - var(--squircle-card-top-r) * 0.45) 0px / calc(100% - 0px) calc(var(--squircle-card-top-r) * 0.45),
    vline to calc(100% - var(--squircle-card-bottom-r)),
    curve to calc(100% - var(--squircle-card-bottom-r)) calc(100% - 0px) with calc(100% - 0px) calc(100% - var(--squircle-card-bottom-r) * 0.45) / calc(100% - var(--squircle-card-bottom-r) * 0.45) calc(100% - 0px),
    hline to var(--squircle-card-bottom-r),
    curve to 0px calc(100% - var(--squircle-card-bottom-r)) with calc(var(--squircle-card-bottom-r) * 0.45) calc(100% - 0px) / 0px calc(100% - var(--squircle-card-bottom-r) * 0.45),
    vline to var(--squircle-card-top-r),
    curve to var(--squircle-card-top-r) 0px with 0px calc(var(--squircle-card-top-r) * 0.45) / calc(var(--squircle-card-top-r) * 0.45) 0px
  );

  /* ===================================================================
     --squircle-link: fancy-frame ASIMMETRICO per i blocchi "link"
     (.link-da-link / -dipendenti / -da-social). Stessa struttura del
     --squircle (12 quadratic bezier: 2 "petali" per lato + 1 curva per
     angolo) MA con 4 raggi indipendenti -> permette di avere il top-right
     meno arrotondato degli altri 3 angoli mantenendo il look squircle iOS.
     I "petali" laterali usano il r del corner di entrata/uscita, quindi
     petali asimmetrici fra angolo grande e angolo piccolo: visivamente la
     curvatura "scivola" verso l'angolo meno arrotondato.
     Coefficienti dei sotto-offset (come fancy-frame):
       o1 = r * 0.1464  (= (1-sqrt(2)/2)/2)
       o2 = r * 0.2929  (= 1-sqrt(2)/2)
       o3 = r * 0.6464  (= r-o1)
     Override per famiglia con --squircle-link-{tl,tr,br,bl}-r.
     =================================================================== */
  --squircle-link-tl-r: 40px;
  --squircle-link-tr-r: 10px;
  --squircle-link-br-r: 40px;
  --squircle-link-bl-r: 40px;
  --squircle-link: shape(
    from calc(var(--squircle-link-tl-r) * 0.6464) calc(var(--squircle-link-tl-r) * 0.1464),
    curve to calc(50% + 0px) 0px with var(--squircle-link-tl-r) 0px,
    curve to calc(100% - var(--squircle-link-tr-r) * 0.6464) calc(var(--squircle-link-tr-r) * 0.1464) with calc(100% - var(--squircle-link-tr-r)) 0px,
    curve to calc(100% - var(--squircle-link-tr-r) * 0.1464) calc(var(--squircle-link-tr-r) * 0.6464) with calc(100% - var(--squircle-link-tr-r) * 0.2929) calc(var(--squircle-link-tr-r) * 0.2929),
    curve to calc(100% - 0px) calc(50% + 0px) with calc(100% - 0px) var(--squircle-link-tr-r),
    curve to calc(100% - var(--squircle-link-br-r) * 0.1464) calc(100% - var(--squircle-link-br-r) * 0.6464) with calc(100% - 0px) calc(100% - var(--squircle-link-br-r)),
    curve to calc(100% - var(--squircle-link-br-r) * 0.6464) calc(100% - var(--squircle-link-br-r) * 0.1464) with calc(100% - var(--squircle-link-br-r) * 0.2929) calc(100% - var(--squircle-link-br-r) * 0.2929),
    curve to calc(50% - 0px) calc(100% - 0px) with calc(100% - var(--squircle-link-br-r)) calc(100% - 0px),
    curve to calc(var(--squircle-link-bl-r) * 0.6464) calc(100% - var(--squircle-link-bl-r) * 0.1464) with var(--squircle-link-bl-r) calc(100% - 0px),
    curve to calc(var(--squircle-link-bl-r) * 0.1464) calc(100% - var(--squircle-link-bl-r) * 0.6464) with calc(var(--squircle-link-bl-r) * 0.2929) calc(100% - var(--squircle-link-bl-r) * 0.2929),
    curve to 0px calc(50% - 0px) with 0px calc(100% - var(--squircle-link-bl-r)),
    curve to calc(var(--squircle-link-tl-r) * 0.1464) calc(var(--squircle-link-tl-r) * 0.6464) with 0px var(--squircle-link-tl-r),
    curve to calc(var(--squircle-link-tl-r) * 0.6464) calc(var(--squircle-link-tl-r) * 0.1464) with calc(var(--squircle-link-tl-r) * 0.2929) calc(var(--squircle-link-tl-r) * 0.2929)
  );

  /* ===================================================================
     SHAPES DEDICATE per ogni knob.
     Ogni shape() referenzia DIRETTAMENTE la propria --r-* (niente
     indirection via --squircle-r), cosi' un setProperty('--r-...') a
     console ri-risolve istantaneamente la shape.
     =================================================================== */

  /* ---------- FANCY FRAME SIMMETRICI ---------- */
  --squircle-block: shape(
    from calc(var(--r-block) * 1.5) calc(var(--r-block) * 0.1),
    curve to 50% 0px with calc(var(--r-block) * 2) 0px,
    curve to calc(100% - var(--r-block) * 1.5) calc(var(--r-block) * 0.1) with calc(100% - var(--r-block) * 2) 0px,
    curve to calc(100% - var(--r-block) * 0.1) calc(var(--r-block) * 1.5) with calc(100% - var(--r-block) * 0.3333) calc(var(--r-block) * 0.3333),
    curve to 100% 50% with 100% calc(var(--r-block) * 2),
    curve to calc(100% - var(--r-block) * 0.1) calc(100% - var(--r-block) * 1.5) with 100% calc(100% - var(--r-block) * 2),
    curve to calc(100% - var(--r-block) * 1.5) calc(100% - var(--r-block) * 0.1) with calc(100% - var(--r-block) * 0.3333) calc(100% - var(--r-block) * 0.3333),
    curve to 50% 100% with calc(100% - var(--r-block) * 2) 100%,
    curve to calc(var(--r-block) * 1.5) calc(100% - var(--r-block) * 0.1) with calc(var(--r-block) * 2) 100%,
    curve to calc(var(--r-block) * 0.1) calc(100% - var(--r-block) * 1.5) with calc(var(--r-block) * 0.3333) calc(100% - var(--r-block) * 0.3333),
    curve to 0px 50% with 0px calc(100% - var(--r-block) * 2),
    curve to calc(var(--r-block) * 0.1) calc(var(--r-block) * 1.5) with 0px calc(var(--r-block) * 2),
    curve to calc(var(--r-block) * 1.5) calc(var(--r-block) * 0.1) with calc(var(--r-block) * 0.3333) calc(var(--r-block) * 0.3333)
  );

  --squircle-company-near: shape(
    from calc(var(--r-company-near) * 1.5) calc(var(--r-company-near) * 0.1),
    curve to 50% 0px with calc(var(--r-company-near) * 2) 0px,
    curve to calc(100% - var(--r-company-near) * 1.5) calc(var(--r-company-near) * 0.1) with calc(100% - var(--r-company-near) * 2) 0px,
    curve to calc(100% - var(--r-company-near) * 0.1) calc(var(--r-company-near) * 1.5) with calc(100% - var(--r-company-near) * 0.3333) calc(var(--r-company-near) * 0.3333),
    curve to 100% 50% with 100% calc(var(--r-company-near) * 2),
    curve to calc(100% - var(--r-company-near) * 0.1) calc(100% - var(--r-company-near) * 1.5) with 100% calc(100% - var(--r-company-near) * 2),
    curve to calc(100% - var(--r-company-near) * 1.5) calc(100% - var(--r-company-near) * 0.1) with calc(100% - var(--r-company-near) * 0.3333) calc(100% - var(--r-company-near) * 0.3333),
    curve to 50% 100% with calc(100% - var(--r-company-near) * 2) 100%,
    curve to calc(var(--r-company-near) * 1.5) calc(100% - var(--r-company-near) * 0.1) with calc(var(--r-company-near) * 2) 100%,
    curve to calc(var(--r-company-near) * 0.1) calc(100% - var(--r-company-near) * 1.5) with calc(var(--r-company-near) * 0.3333) calc(100% - var(--r-company-near) * 0.3333),
    curve to 0px 50% with 0px calc(100% - var(--r-company-near) * 2),
    curve to calc(var(--r-company-near) * 0.1) calc(var(--r-company-near) * 1.5) with 0px calc(var(--r-company-near) * 2),
    curve to calc(var(--r-company-near) * 1.5) calc(var(--r-company-near) * 0.1) with calc(var(--r-company-near) * 0.3333) calc(var(--r-company-near) * 0.3333)
  );

  --squircle-footer: shape(
    from calc(var(--r-footer) * 1.5) calc(var(--r-footer) * 0.1),
    curve to 50% 0px with calc(var(--r-footer) * 2) 0px,
    curve to calc(100% - var(--r-footer) * 1.5) calc(var(--r-footer) * 0.1) with calc(100% - var(--r-footer) * 2) 0px,
    curve to calc(100% - var(--r-footer) * 0.1) calc(var(--r-footer) * 1.5) with calc(100% - var(--r-footer) * 0.3333) calc(var(--r-footer) * 0.3333),
    curve to 100% 50% with 100% calc(var(--r-footer) * 2),
    curve to calc(100% - var(--r-footer) * 0.1) calc(100% - var(--r-footer) * 1.5) with 100% calc(100% - var(--r-footer) * 2),
    curve to calc(100% - var(--r-footer) * 1.5) calc(100% - var(--r-footer) * 0.1) with calc(100% - var(--r-footer) * 0.3333) calc(100% - var(--r-footer) * 0.3333),
    curve to 50% 100% with calc(100% - var(--r-footer) * 2) 100%,
    curve to calc(var(--r-footer) * 1.5) calc(100% - var(--r-footer) * 0.1) with calc(var(--r-footer) * 2) 100%,
    curve to calc(var(--r-footer) * 0.1) calc(100% - var(--r-footer) * 1.5) with calc(var(--r-footer) * 0.3333) calc(100% - var(--r-footer) * 0.3333),
    curve to 0px 50% with 0px calc(100% - var(--r-footer) * 2),
    curve to calc(var(--r-footer) * 0.1) calc(var(--r-footer) * 1.5) with 0px calc(var(--r-footer) * 2),
    curve to calc(var(--r-footer) * 1.5) calc(var(--r-footer) * 0.1) with calc(var(--r-footer) * 0.3333) calc(var(--r-footer) * 0.3333)
  );

  /* Squircle leggero per i blocchi della home/here (rounded-rect cubic, coef 0.45) */
    --squircle-here-cerca: shape(
  from calc(var(--r-here-cerca) * 1.5) calc(var(--r-here-cerca) * 0.1),
  curve to calc(50% + 0px) 0px 
    with calc(var(--r-here-cerca) * 2) 0px,
  curve to calc(100% - var(--r-here-cerca) * 1.5) calc(var(--r-here-cerca) * 0.1) 
    with calc(100% - var(--r-here-cerca) * 2) 0px,
  curve to calc(100% - var(--r-here-cerca) * 0.1) calc(var(--r-here-cerca) * 1.5) 
    with calc(100% - var(--r-here-cerca) * 0.3333) calc(var(--r-here-cerca) * 0.3333),
  curve to calc(100% - 0px) calc(50% + 0px) 
    with calc(100% - 0px) calc(var(--r-here-cerca) * 2),
  curve to calc(100% - var(--r-here-cerca) * 0.1) calc(100% - var(--r-here-cerca) * 1.5) 
    with calc(100% - 0px) calc(100% - var(--r-here-cerca) * 2),
  curve to calc(100% - var(--r-here-cerca) * 1.5) calc(100% - var(--r-here-cerca) * 0.1) 
    with calc(100% - var(--r-here-cerca) * 0.3333) calc(100% - var(--r-here-cerca) * 0.3333),
  curve to calc(50% - 0px) calc(100% - 0px) 
    with calc(100% - var(--r-here-cerca) * 2) calc(100% - 0px),
  curve to calc(var(--r-here-cerca) * 1.5) calc(100% - var(--r-here-cerca) * 0.1) 
    with calc(var(--r-here-cerca) * 2) calc(100% - 0px),
  curve to calc(var(--r-here-cerca) * 0.1) calc(100% - var(--r-here-cerca) * 1.5) 
    with calc(var(--r-here-cerca) * 0.3333) calc(100% - var(--r-here-cerca) * 0.3333),
  curve to 0px calc(50% - 0px) 
    with 0px calc(100% - var(--r-here-cerca) * 2),
  curve to calc(var(--r-here-cerca) * 0.1) calc(var(--r-here-cerca) * 1.5) 
    with 0px calc(var(--r-here-cerca) * 2),
  curve to calc(var(--r-here-cerca) * 1.5) calc(var(--r-here-cerca) * 0.1) 
    with calc(var(--r-here-cerca) * 0.3333) calc(var(--r-here-cerca) * 0.3333)
);
    --squircle-here-trova: shape(
  from calc(var(--r-here-trova) * 1.5) calc(var(--r-here-trova) * 0.1),
  curve to calc(50% + 0px) 0px 
    with calc(var(--r-here-trova) * 2) 0px,
  curve to calc(100% - var(--r-here-trova) * 1.5) calc(var(--r-here-trova) * 0.1) 
    with calc(100% - var(--r-here-trova) * 2) 0px,
  curve to calc(100% - var(--r-here-trova) * 0.1) calc(var(--r-here-trova) * 1.5) 
    with calc(100% - var(--r-here-trova) * 0.3333) calc(var(--r-here-trova) * 0.3333),
  curve to calc(100% - 0px) calc(50% + 0px) 
    with calc(100% - 0px) calc(var(--r-here-trova) * 2),
  curve to calc(100% - var(--r-here-trova) * 0.1) calc(100% - var(--r-here-trova) * 1.5) 
    with calc(100% - 0px) calc(100% - var(--r-here-trova) * 2),
  curve to calc(100% - var(--r-here-trova) * 1.5) calc(100% - var(--r-here-trova) * 0.1) 
    with calc(100% - var(--r-here-trova) * 0.3333) calc(100% - var(--r-here-trova) * 0.3333),
  curve to calc(50% - 0px) calc(100% - 0px) 
    with calc(100% - var(--r-here-trova) * 2) calc(100% - 0px),
  curve to calc(var(--r-here-trova) * 1.5) calc(100% - var(--r-here-trova) * 0.1) 
    with calc(var(--r-here-trova) * 2) calc(100% - 0px),
  curve to calc(var(--r-here-trova) * 0.1) calc(100% - var(--r-here-trova) * 1.5) 
    with calc(var(--r-here-trova) * 0.3333) calc(100% - var(--r-here-trova) * 0.3333),
  curve to 0px calc(50% - 0px) 
    with 0px calc(100% - var(--r-here-trova) * 2),
  curve to calc(var(--r-here-trova) * 0.1) calc(var(--r-here-trova) * 1.5) 
    with 0px calc(var(--r-here-trova) * 2),
  curve to calc(var(--r-here-trova) * 1.5) calc(var(--r-here-trova) * 0.1)
    with calc(var(--r-here-trova) * 0.3333) calc(var(--r-here-trova) * 0.3333)
);

  /* Squircle bottone Invia (form segnalazione) — knob --r-squircle-invia */
    --squircle-invia: shape(
  from calc(var(--r-squircle-invia) * 1.5) calc(var(--r-squircle-invia) * 0.1),
  curve to calc(50% + 0px) 0px
    with calc(var(--r-squircle-invia) * 2) 0px,
  curve to calc(100% - var(--r-squircle-invia) * 1.5) calc(var(--r-squircle-invia) * 0.1)
    with calc(100% - var(--r-squircle-invia) * 2) 0px,
  curve to calc(100% - var(--r-squircle-invia) * 0.1) calc(var(--r-squircle-invia) * 1.5)
    with calc(100% - var(--r-squircle-invia) * 0.3333) calc(var(--r-squircle-invia) * 0.3333),
  curve to calc(100% - 0px) calc(50% + 0px)
    with calc(100% - 0px) calc(var(--r-squircle-invia) * 2),
  curve to calc(100% - var(--r-squircle-invia) * 0.1) calc(100% - var(--r-squircle-invia) * 1.5)
    with calc(100% - 0px) calc(100% - var(--r-squircle-invia) * 2),
  curve to calc(100% - var(--r-squircle-invia) * 1.5) calc(100% - var(--r-squircle-invia) * 0.1)
    with calc(100% - var(--r-squircle-invia) * 0.3333) calc(100% - var(--r-squircle-invia) * 0.3333),
  curve to calc(50% - 0px) calc(100% - 0px)
    with calc(100% - var(--r-squircle-invia) * 2) calc(100% - 0px),
  curve to calc(var(--r-squircle-invia) * 1.5) calc(100% - var(--r-squircle-invia) * 0.1)
    with calc(var(--r-squircle-invia) * 2) calc(100% - 0px),
  curve to calc(var(--r-squircle-invia) * 0.1) calc(100% - var(--r-squircle-invia) * 1.5)
    with calc(var(--r-squircle-invia) * 0.3333) calc(100% - var(--r-squircle-invia) * 0.3333),
  curve to 0px calc(50% - 0px)
    with 0px calc(100% - var(--r-squircle-invia) * 2),
  curve to calc(var(--r-squircle-invia) * 0.1) calc(var(--r-squircle-invia) * 1.5)
    with 0px calc(var(--r-squircle-invia) * 2),
  curve to calc(var(--r-squircle-invia) * 1.5) calc(var(--r-squircle-invia) * 0.1)
    with calc(var(--r-squircle-invia) * 0.3333) calc(var(--r-squircle-invia) * 0.3333)
);

  /* Squircle drop zone upload (form segnalazione) — knob --r-squircle-dropzone */
    --squircle-dropzone: shape(
  from calc(var(--r-squircle-dropzone) * 1.5) calc(var(--r-squircle-dropzone) * 0.1),
  curve to calc(50% + 0px) 0px
    with calc(var(--r-squircle-dropzone) * 2) 0px,
  curve to calc(100% - var(--r-squircle-dropzone) * 1.5) calc(var(--r-squircle-dropzone) * 0.1)
    with calc(100% - var(--r-squircle-dropzone) * 2) 0px,
  curve to calc(100% - var(--r-squircle-dropzone) * 0.1) calc(var(--r-squircle-dropzone) * 1.5)
    with calc(100% - var(--r-squircle-dropzone) * 0.3333) calc(var(--r-squircle-dropzone) * 0.3333),
  curve to calc(100% - 0px) calc(50% + 0px)
    with calc(100% - 0px) calc(var(--r-squircle-dropzone) * 2),
  curve to calc(100% - var(--r-squircle-dropzone) * 0.1) calc(100% - var(--r-squircle-dropzone) * 1.5)
    with calc(100% - 0px) calc(100% - var(--r-squircle-dropzone) * 2),
  curve to calc(100% - var(--r-squircle-dropzone) * 1.5) calc(100% - var(--r-squircle-dropzone) * 0.1)
    with calc(100% - var(--r-squircle-dropzone) * 0.3333) calc(100% - var(--r-squircle-dropzone) * 0.3333),
  curve to calc(50% - 0px) calc(100% - 0px)
    with calc(100% - var(--r-squircle-dropzone) * 2) calc(100% - 0px),
  curve to calc(var(--r-squircle-dropzone) * 1.5) calc(100% - var(--r-squircle-dropzone) * 0.1)
    with calc(var(--r-squircle-dropzone) * 2) calc(100% - 0px),
  curve to calc(var(--r-squircle-dropzone) * 0.1) calc(100% - var(--r-squircle-dropzone) * 1.5)
    with calc(var(--r-squircle-dropzone) * 0.3333) calc(100% - var(--r-squircle-dropzone) * 0.3333),
  curve to 0px calc(50% - 0px)
    with 0px calc(100% - var(--r-squircle-dropzone) * 2),
  curve to calc(var(--r-squircle-dropzone) * 0.1) calc(var(--r-squircle-dropzone) * 1.5)
    with 0px calc(var(--r-squircle-dropzone) * 2),
  curve to calc(var(--r-squircle-dropzone) * 1.5) calc(var(--r-squircle-dropzone) * 0.1)
    with calc(var(--r-squircle-dropzone) * 0.3333) calc(var(--r-squircle-dropzone) * 0.3333)
);

  /* --- pannello ricerca: 6 shape, una per elemento ---------------------- */

  --squircle-cities-list: shape(
    from calc(var(--r-squircle-cities-list) * 1.5) calc(var(--r-squircle-cities-list) * 0.1),
    curve to calc(50% + 0px) 0px with calc(var(--r-squircle-cities-list) * 2) 0px,
    curve to calc(100% - var(--r-squircle-cities-list) * 1.5) calc(var(--r-squircle-cities-list) * 0.1) with calc(100% - var(--r-squircle-cities-list) * 2) 0px,
    curve to calc(100% - var(--r-squircle-cities-list) * 0.1) calc(var(--r-squircle-cities-list) * 1.5) with calc(100% - var(--r-squircle-cities-list) * 0.3333) calc(var(--r-squircle-cities-list) * 0.3333),
    curve to calc(100% - 0px) calc(50% + 0px) with calc(100% - 0px) calc(var(--r-squircle-cities-list) * 2),
    curve to calc(100% - var(--r-squircle-cities-list) * 0.1) calc(100% - var(--r-squircle-cities-list) * 1.5) with calc(100% - 0px) calc(100% - var(--r-squircle-cities-list) * 2),
    curve to calc(100% - var(--r-squircle-cities-list) * 1.5) calc(100% - var(--r-squircle-cities-list) * 0.1) with calc(100% - var(--r-squircle-cities-list) * 0.3333) calc(100% - var(--r-squircle-cities-list) * 0.3333),
    curve to calc(50% - 0px) calc(100% - 0px) with calc(100% - var(--r-squircle-cities-list) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-cities-list) * 1.5) calc(100% - var(--r-squircle-cities-list) * 0.1) with calc(var(--r-squircle-cities-list) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-cities-list) * 0.1) calc(100% - var(--r-squircle-cities-list) * 1.5) with calc(var(--r-squircle-cities-list) * 0.3333) calc(100% - var(--r-squircle-cities-list) * 0.3333),
    curve to 0px calc(50% - 0px) with 0px calc(100% - var(--r-squircle-cities-list) * 2),
    curve to calc(var(--r-squircle-cities-list) * 0.1) calc(var(--r-squircle-cities-list) * 1.5) with 0px calc(var(--r-squircle-cities-list) * 2),
    curve to calc(var(--r-squircle-cities-list) * 1.5) calc(var(--r-squircle-cities-list) * 0.1) with calc(var(--r-squircle-cities-list) * 0.3333) calc(var(--r-squircle-cities-list) * 0.3333)
);

  --squircle-btn-posizione: shape(
    from calc(var(--r-squircle-btn-posizione) * 1.5) calc(var(--r-squircle-btn-posizione) * 0.1),
    curve to calc(50% + 0px) 0px with calc(var(--r-squircle-btn-posizione) * 2) 0px,
    curve to calc(100% - var(--r-squircle-btn-posizione) * 1.5) calc(var(--r-squircle-btn-posizione) * 0.1) with calc(100% - var(--r-squircle-btn-posizione) * 2) 0px,
    curve to calc(100% - var(--r-squircle-btn-posizione) * 0.1) calc(var(--r-squircle-btn-posizione) * 1.5) with calc(100% - var(--r-squircle-btn-posizione) * 0.3333) calc(var(--r-squircle-btn-posizione) * 0.3333),
    curve to calc(100% - 0px) calc(50% + 0px) with calc(100% - 0px) calc(var(--r-squircle-btn-posizione) * 2),
    curve to calc(100% - var(--r-squircle-btn-posizione) * 0.1) calc(100% - var(--r-squircle-btn-posizione) * 1.5) with calc(100% - 0px) calc(100% - var(--r-squircle-btn-posizione) * 2),
    curve to calc(100% - var(--r-squircle-btn-posizione) * 1.5) calc(100% - var(--r-squircle-btn-posizione) * 0.1) with calc(100% - var(--r-squircle-btn-posizione) * 0.3333) calc(100% - var(--r-squircle-btn-posizione) * 0.3333),
    curve to calc(50% - 0px) calc(100% - 0px) with calc(100% - var(--r-squircle-btn-posizione) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-btn-posizione) * 1.5) calc(100% - var(--r-squircle-btn-posizione) * 0.1) with calc(var(--r-squircle-btn-posizione) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-btn-posizione) * 0.1) calc(100% - var(--r-squircle-btn-posizione) * 1.5) with calc(var(--r-squircle-btn-posizione) * 0.3333) calc(100% - var(--r-squircle-btn-posizione) * 0.3333),
    curve to 0px calc(50% - 0px) with 0px calc(100% - var(--r-squircle-btn-posizione) * 2),
    curve to calc(var(--r-squircle-btn-posizione) * 0.1) calc(var(--r-squircle-btn-posizione) * 1.5) with 0px calc(var(--r-squircle-btn-posizione) * 2),
    curve to calc(var(--r-squircle-btn-posizione) * 1.5) calc(var(--r-squircle-btn-posizione) * 0.1) with calc(var(--r-squircle-btn-posizione) * 0.3333) calc(var(--r-squircle-btn-posizione) * 0.3333)
);

  --squircle-city-search-box: shape(
    from calc(var(--r-squircle-city-search-box) * 1.5) calc(var(--r-squircle-city-search-box) * 0.1),
    curve to calc(50% + 0px) 0px with calc(var(--r-squircle-city-search-box) * 2) 0px,
    curve to calc(100% - var(--r-squircle-city-search-box) * 1.5) calc(var(--r-squircle-city-search-box) * 0.1) with calc(100% - var(--r-squircle-city-search-box) * 2) 0px,
    curve to calc(100% - var(--r-squircle-city-search-box) * 0.1) calc(var(--r-squircle-city-search-box) * 1.5) with calc(100% - var(--r-squircle-city-search-box) * 0.3333) calc(var(--r-squircle-city-search-box) * 0.3333),
    curve to calc(100% - 0px) calc(50% + 0px) with calc(100% - 0px) calc(var(--r-squircle-city-search-box) * 2),
    curve to calc(100% - var(--r-squircle-city-search-box) * 0.1) calc(100% - var(--r-squircle-city-search-box) * 1.5) with calc(100% - 0px) calc(100% - var(--r-squircle-city-search-box) * 2),
    curve to calc(100% - var(--r-squircle-city-search-box) * 1.5) calc(100% - var(--r-squircle-city-search-box) * 0.1) with calc(100% - var(--r-squircle-city-search-box) * 0.3333) calc(100% - var(--r-squircle-city-search-box) * 0.3333),
    curve to calc(50% - 0px) calc(100% - 0px) with calc(100% - var(--r-squircle-city-search-box) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-city-search-box) * 1.5) calc(100% - var(--r-squircle-city-search-box) * 0.1) with calc(var(--r-squircle-city-search-box) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-city-search-box) * 0.1) calc(100% - var(--r-squircle-city-search-box) * 1.5) with calc(var(--r-squircle-city-search-box) * 0.3333) calc(100% - var(--r-squircle-city-search-box) * 0.3333),
    curve to 0px calc(50% - 0px) with 0px calc(100% - var(--r-squircle-city-search-box) * 2),
    curve to calc(var(--r-squircle-city-search-box) * 0.1) calc(var(--r-squircle-city-search-box) * 1.5) with 0px calc(var(--r-squircle-city-search-box) * 2),
    curve to calc(var(--r-squircle-city-search-box) * 1.5) calc(var(--r-squircle-city-search-box) * 0.1) with calc(var(--r-squircle-city-search-box) * 0.3333) calc(var(--r-squircle-city-search-box) * 0.3333)
);

  --squircle-input-bar: shape(
    from calc(var(--r-squircle-input-bar) * 1.5) calc(var(--r-squircle-input-bar) * 0.1),
    curve to calc(50% + 0px) 0px with calc(var(--r-squircle-input-bar) * 2) 0px,
    curve to calc(100% - var(--r-squircle-input-bar) * 1.5) calc(var(--r-squircle-input-bar) * 0.1) with calc(100% - var(--r-squircle-input-bar) * 2) 0px,
    curve to calc(100% - var(--r-squircle-input-bar) * 0.1) calc(var(--r-squircle-input-bar) * 1.5) with calc(100% - var(--r-squircle-input-bar) * 0.3333) calc(var(--r-squircle-input-bar) * 0.3333),
    curve to calc(100% - 0px) calc(50% + 0px) with calc(100% - 0px) calc(var(--r-squircle-input-bar) * 2),
    curve to calc(100% - var(--r-squircle-input-bar) * 0.1) calc(100% - var(--r-squircle-input-bar) * 1.5) with calc(100% - 0px) calc(100% - var(--r-squircle-input-bar) * 2),
    curve to calc(100% - var(--r-squircle-input-bar) * 1.5) calc(100% - var(--r-squircle-input-bar) * 0.1) with calc(100% - var(--r-squircle-input-bar) * 0.3333) calc(100% - var(--r-squircle-input-bar) * 0.3333),
    curve to calc(50% - 0px) calc(100% - 0px) with calc(100% - var(--r-squircle-input-bar) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-input-bar) * 1.5) calc(100% - var(--r-squircle-input-bar) * 0.1) with calc(var(--r-squircle-input-bar) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-input-bar) * 0.1) calc(100% - var(--r-squircle-input-bar) * 1.5) with calc(var(--r-squircle-input-bar) * 0.3333) calc(100% - var(--r-squircle-input-bar) * 0.3333),
    curve to 0px calc(50% - 0px) with 0px calc(100% - var(--r-squircle-input-bar) * 2),
    curve to calc(var(--r-squircle-input-bar) * 0.1) calc(var(--r-squircle-input-bar) * 1.5) with 0px calc(var(--r-squircle-input-bar) * 2),
    curve to calc(var(--r-squircle-input-bar) * 1.5) calc(var(--r-squircle-input-bar) * 0.1) with calc(var(--r-squircle-input-bar) * 0.3333) calc(var(--r-squircle-input-bar) * 0.3333)
);

  --squircle-submit-btn: shape(
    from calc(var(--r-squircle-submit-btn) * 1.5) calc(var(--r-squircle-submit-btn) * 0.1),
    curve to calc(50% + 0px) 0px with calc(var(--r-squircle-submit-btn) * 2) 0px,
    curve to calc(100% - var(--r-squircle-submit-btn) * 1.5) calc(var(--r-squircle-submit-btn) * 0.1) with calc(100% - var(--r-squircle-submit-btn) * 2) 0px,
    curve to calc(100% - var(--r-squircle-submit-btn) * 0.1) calc(var(--r-squircle-submit-btn) * 1.5) with calc(100% - var(--r-squircle-submit-btn) * 0.3333) calc(var(--r-squircle-submit-btn) * 0.3333),
    curve to calc(100% - 0px) calc(50% + 0px) with calc(100% - 0px) calc(var(--r-squircle-submit-btn) * 2),
    curve to calc(100% - var(--r-squircle-submit-btn) * 0.1) calc(100% - var(--r-squircle-submit-btn) * 1.5) with calc(100% - 0px) calc(100% - var(--r-squircle-submit-btn) * 2),
    curve to calc(100% - var(--r-squircle-submit-btn) * 1.5) calc(100% - var(--r-squircle-submit-btn) * 0.1) with calc(100% - var(--r-squircle-submit-btn) * 0.3333) calc(100% - var(--r-squircle-submit-btn) * 0.3333),
    curve to calc(50% - 0px) calc(100% - 0px) with calc(100% - var(--r-squircle-submit-btn) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-submit-btn) * 1.5) calc(100% - var(--r-squircle-submit-btn) * 0.1) with calc(var(--r-squircle-submit-btn) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-submit-btn) * 0.1) calc(100% - var(--r-squircle-submit-btn) * 1.5) with calc(var(--r-squircle-submit-btn) * 0.3333) calc(100% - var(--r-squircle-submit-btn) * 0.3333),
    curve to 0px calc(50% - 0px) with 0px calc(100% - var(--r-squircle-submit-btn) * 2),
    curve to calc(var(--r-squircle-submit-btn) * 0.1) calc(var(--r-squircle-submit-btn) * 1.5) with 0px calc(var(--r-squircle-submit-btn) * 2),
    curve to calc(var(--r-squircle-submit-btn) * 1.5) calc(var(--r-squircle-submit-btn) * 0.1) with calc(var(--r-squircle-submit-btn) * 0.3333) calc(var(--r-squircle-submit-btn) * 0.3333)
);

  --squircle-cerca-citta: shape(
    from calc(var(--r-squircle-cerca-citta) * 1.5) calc(var(--r-squircle-cerca-citta) * 0.1),
    curve to calc(50% + 0px) 0px with calc(var(--r-squircle-cerca-citta) * 2) 0px,
    curve to calc(100% - var(--r-squircle-cerca-citta) * 1.5) calc(var(--r-squircle-cerca-citta) * 0.1) with calc(100% - var(--r-squircle-cerca-citta) * 2) 0px,
    curve to calc(100% - var(--r-squircle-cerca-citta) * 0.1) calc(var(--r-squircle-cerca-citta) * 1.5) with calc(100% - var(--r-squircle-cerca-citta) * 0.3333) calc(var(--r-squircle-cerca-citta) * 0.3333),
    curve to calc(100% - 0px) calc(50% + 0px) with calc(100% - 0px) calc(var(--r-squircle-cerca-citta) * 2),
    curve to calc(100% - var(--r-squircle-cerca-citta) * 0.1) calc(100% - var(--r-squircle-cerca-citta) * 1.5) with calc(100% - 0px) calc(100% - var(--r-squircle-cerca-citta) * 2),
    curve to calc(100% - var(--r-squircle-cerca-citta) * 1.5) calc(100% - var(--r-squircle-cerca-citta) * 0.1) with calc(100% - var(--r-squircle-cerca-citta) * 0.3333) calc(100% - var(--r-squircle-cerca-citta) * 0.3333),
    curve to calc(50% - 0px) calc(100% - 0px) with calc(100% - var(--r-squircle-cerca-citta) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-cerca-citta) * 1.5) calc(100% - var(--r-squircle-cerca-citta) * 0.1) with calc(var(--r-squircle-cerca-citta) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-cerca-citta) * 0.1) calc(100% - var(--r-squircle-cerca-citta) * 1.5) with calc(var(--r-squircle-cerca-citta) * 0.3333) calc(100% - var(--r-squircle-cerca-citta) * 0.3333),
    curve to 0px calc(50% - 0px) with 0px calc(100% - var(--r-squircle-cerca-citta) * 2),
    curve to calc(var(--r-squircle-cerca-citta) * 0.1) calc(var(--r-squircle-cerca-citta) * 1.5) with 0px calc(var(--r-squircle-cerca-citta) * 2),
    curve to calc(var(--r-squircle-cerca-citta) * 1.5) calc(var(--r-squircle-cerca-citta) * 0.1) with calc(var(--r-squircle-cerca-citta) * 0.3333) calc(var(--r-squircle-cerca-citta) * 0.3333)
);

  --squircle-city-chip: shape(
    from calc(var(--r-squircle-city-chip) * 1.5) calc(var(--r-squircle-city-chip) * 0.1),
    curve to calc(50% + 0px) 0px with calc(var(--r-squircle-city-chip) * 2) 0px,
    curve to calc(100% - var(--r-squircle-city-chip) * 1.5) calc(var(--r-squircle-city-chip) * 0.1) with calc(100% - var(--r-squircle-city-chip) * 2) 0px,
    curve to calc(100% - var(--r-squircle-city-chip) * 0.1) calc(var(--r-squircle-city-chip) * 1.5) with calc(100% - var(--r-squircle-city-chip) * 0.3333) calc(var(--r-squircle-city-chip) * 0.3333),
    curve to calc(100% - 0px) calc(50% + 0px) with calc(100% - 0px) calc(var(--r-squircle-city-chip) * 2),
    curve to calc(100% - var(--r-squircle-city-chip) * 0.1) calc(100% - var(--r-squircle-city-chip) * 1.5) with calc(100% - 0px) calc(100% - var(--r-squircle-city-chip) * 2),
    curve to calc(100% - var(--r-squircle-city-chip) * 1.5) calc(100% - var(--r-squircle-city-chip) * 0.1) with calc(100% - var(--r-squircle-city-chip) * 0.3333) calc(100% - var(--r-squircle-city-chip) * 0.3333),
    curve to calc(50% - 0px) calc(100% - 0px) with calc(100% - var(--r-squircle-city-chip) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-city-chip) * 1.5) calc(100% - var(--r-squircle-city-chip) * 0.1) with calc(var(--r-squircle-city-chip) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-city-chip) * 0.1) calc(100% - var(--r-squircle-city-chip) * 1.5) with calc(var(--r-squircle-city-chip) * 0.3333) calc(100% - var(--r-squircle-city-chip) * 0.3333),
    curve to 0px calc(50% - 0px) with 0px calc(100% - var(--r-squircle-city-chip) * 2),
    curve to calc(var(--r-squircle-city-chip) * 0.1) calc(var(--r-squircle-city-chip) * 1.5) with 0px calc(var(--r-squircle-city-chip) * 2),
    curve to calc(var(--r-squircle-city-chip) * 1.5) calc(var(--r-squircle-city-chip) * 0.1) with calc(var(--r-squircle-city-chip) * 0.3333) calc(var(--r-squircle-city-chip) * 0.3333)
);

  --squircle-nuova-ricerca: shape(
    from calc(var(--r-squircle-nuova-ricerca) * 1.5) calc(var(--r-squircle-nuova-ricerca) * 0.1),
    curve to calc(50% + 0px) 0px with calc(var(--r-squircle-nuova-ricerca) * 2) 0px,
    curve to calc(100% - var(--r-squircle-nuova-ricerca) * 1.5) calc(var(--r-squircle-nuova-ricerca) * 0.1) with calc(100% - var(--r-squircle-nuova-ricerca) * 2) 0px,
    curve to calc(100% - var(--r-squircle-nuova-ricerca) * 0.1) calc(var(--r-squircle-nuova-ricerca) * 1.5) with calc(100% - var(--r-squircle-nuova-ricerca) * 0.3333) calc(var(--r-squircle-nuova-ricerca) * 0.3333),
    curve to calc(100% - 0px) calc(50% + 0px) with calc(100% - 0px) calc(var(--r-squircle-nuova-ricerca) * 2),
    curve to calc(100% - var(--r-squircle-nuova-ricerca) * 0.1) calc(100% - var(--r-squircle-nuova-ricerca) * 1.5) with calc(100% - 0px) calc(100% - var(--r-squircle-nuova-ricerca) * 2),
    curve to calc(100% - var(--r-squircle-nuova-ricerca) * 1.5) calc(100% - var(--r-squircle-nuova-ricerca) * 0.1) with calc(100% - var(--r-squircle-nuova-ricerca) * 0.3333) calc(100% - var(--r-squircle-nuova-ricerca) * 0.3333),
    curve to calc(50% - 0px) calc(100% - 0px) with calc(100% - var(--r-squircle-nuova-ricerca) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-nuova-ricerca) * 1.5) calc(100% - var(--r-squircle-nuova-ricerca) * 0.1) with calc(var(--r-squircle-nuova-ricerca) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-nuova-ricerca) * 0.1) calc(100% - var(--r-squircle-nuova-ricerca) * 1.5) with calc(var(--r-squircle-nuova-ricerca) * 0.3333) calc(100% - var(--r-squircle-nuova-ricerca) * 0.3333),
    curve to 0px calc(50% - 0px) with 0px calc(100% - var(--r-squircle-nuova-ricerca) * 2),
    curve to calc(var(--r-squircle-nuova-ricerca) * 0.1) calc(var(--r-squircle-nuova-ricerca) * 1.5) with 0px calc(var(--r-squircle-nuova-ricerca) * 2),
    curve to calc(var(--r-squircle-nuova-ricerca) * 1.5) calc(var(--r-squircle-nuova-ricerca) * 0.1) with calc(var(--r-squircle-nuova-ricerca) * 0.3333) calc(var(--r-squircle-nuova-ricerca) * 0.3333)
);
  --squircle-nuova-ricerca-interno: shape(
    from calc(var(--r-squircle-nuova-ricerca) * 1.5) calc(var(--r-squircle-nuova-ricerca) * 0.1),
    curve to calc(50% + 0px) 0px with calc(var(--r-squircle-nuova-ricerca) * 2) 0px,
    curve to calc(100% - var(--r-squircle-nuova-ricerca-interno) * 1.5) calc(var(--r-squircle-nuova-ricerca-interno) * 0.1) with calc(100% - var(--r-squircle-nuova-ricerca-interno) * 2) 0px,
    curve to calc(100% - var(--r-squircle-nuova-ricerca-interno) * 0.1) calc(var(--r-squircle-nuova-ricerca-interno) * 1.5) with calc(100% - var(--r-squircle-nuova-ricerca-interno) * 0.3333) calc(var(--r-squircle-nuova-ricerca-interno) * 0.3333),
    curve to calc(100% - 0px) calc(50% + 0px) with calc(100% - 0px) calc(var(--r-squircle-nuova-ricerca-interno) * 2),
    curve to calc(100% - var(--r-squircle-nuova-ricerca-interno) * 0.1) calc(100% - var(--r-squircle-nuova-ricerca-interno) * 1.5) with calc(100% - 0px) calc(100% - var(--r-squircle-nuova-ricerca-interno) * 2),
    curve to calc(100% - var(--r-squircle-nuova-ricerca-interno) * 1.5) calc(100% - var(--r-squircle-nuova-ricerca-interno) * 0.1) with calc(100% - var(--r-squircle-nuova-ricerca-interno) * 0.3333) calc(100% - var(--r-squircle-nuova-ricerca-interno) * 0.3333),
    curve to calc(50% - 0px) calc(100% - 0px) with calc(100% - var(--r-squircle-nuova-ricerca-interno) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-nuova-ricerca-interno) * 1.5) calc(100% - var(--r-squircle-nuova-ricerca-interno) * 0.1) with calc(var(--r-squircle-nuova-ricerca-interno) * 2) calc(100% - 0px),
    curve to calc(var(--r-squircle-nuova-ricerca-interno) * 0.1) calc(100% - var(--r-squircle-nuova-ricerca-interno) * 1.5) with calc(var(--r-squircle-nuova-ricerca-interno) * 0.3333) calc(100% - var(--r-squircle-nuova-ricerca-interno) * 0.3333),
    curve to 0px calc(50% - 0px) with 0px calc(100% - var(--r-squircle-nuova-ricerca-interno) * 2),
    curve to calc(var(--r-squircle-nuova-ricerca-interno) * 0.1) calc(var(--r-squircle-nuova-ricerca-interno) * 1.5) with 0px calc(var(--r-squircle-nuova-ricerca-interno) * 2),
    curve to calc(var(--r-squircle-nuova-ricerca-interno) * 1.5) calc(var(--r-squircle-nuova-ricerca-interno) * 0.1) with calc(var(--r-squircle-nuova-ricerca-interno) * 0.3333) calc(var(--r-squircle-nuova-ricerca-interno) * 0.3333)
);
  --squircle-reapiti: shape(
    from min(calc(var(--r-reapiti-tl) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-reapiti-tr) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-reapiti-tr) * 2.5), 49%)
        with calc(100% - var(--r-reapiti-tr) * 0.1) 0px
        / 100% calc(var(--r-reapiti-tr) * 0.1),
    vline to calc(100% - min(calc(var(--r-reapiti-br) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-reapiti-br) * 2.5), 49%)) 100%
        with 100% calc(100% - var(--r-reapiti-br) * 0.1)
        / calc(100% - var(--r-reapiti-br) * 0.1) 100%,
    hline to min(calc(var(--r-reapiti-bl) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-reapiti-bl) * 2.5), 49%))
        with calc(var(--r-reapiti-bl) * 0.1) 100%
        / 0px calc(100% - var(--r-reapiti-bl) * 0.1),
    vline to min(calc(var(--r-reapiti-tl) * 2.5), 49%),
    curve to min(calc(var(--r-reapiti-tl) * 2.5), 49%) 0px
        with 0px calc(var(--r-reapiti-tl) * 0.1)
        / calc(var(--r-reapiti-tl) * 0.1) 0px
  );

  --squircle-logo-shape: shape(
    from calc(var(--r-logo) * 1.5) calc(var(--r-logo) * 0.1),
    curve to 50% 0px with calc(var(--r-logo) * 2) 0px,
    curve to calc(100% - var(--r-logo) * 1.5) calc(var(--r-logo) * 0.1) with calc(100% - var(--r-logo) * 2) 0px,
    curve to calc(100% - var(--r-logo) * 0.1) calc(var(--r-logo) * 1.5) with calc(100% - var(--r-logo) * 0.3333) calc(var(--r-logo) * 0.3333),
    curve to 100% 50% with 100% calc(var(--r-logo) * 2),
    curve to calc(100% - var(--r-logo) * 0.1) calc(100% - var(--r-logo) * 1.5) with 100% calc(100% - var(--r-logo) * 2),
    curve to calc(100% - var(--r-logo) * 1.5) calc(100% - var(--r-logo) * 0.1) with calc(100% - var(--r-logo) * 0.3333) calc(100% - var(--r-logo) * 0.3333),
    curve to 50% 100% with calc(100% - var(--r-logo) * 2) 100%,
    curve to calc(var(--r-logo) * 1.5) calc(100% - var(--r-logo) * 0.1) with calc(var(--r-logo) * 2) 100%,
    curve to calc(var(--r-logo) * 0.1) calc(100% - var(--r-logo) * 1.5) with calc(var(--r-logo) * 0.3333) calc(100% - var(--r-logo) * 0.3333),
    curve to 0px 50% with 0px calc(100% - var(--r-logo) * 2),
    curve to calc(var(--r-logo) * 0.1) calc(var(--r-logo) * 1.5) with 0px calc(var(--r-logo) * 2),
    curve to calc(var(--r-logo) * 1.5) calc(var(--r-logo) * 0.1) with calc(var(--r-logo) * 0.3333) calc(var(--r-logo) * 0.3333)
  );

  --squircle-cal-li: shape(
    from min(calc(var(--r-cal-li) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-cal-li) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-cal-li) * 2.5), 49%)
        with calc(100% - var(--r-cal-li) * 0.1) 0px
        / 100% calc(var(--r-cal-li) * 0.1),
    vline to calc(100% - min(calc(var(--r-cal-li) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-cal-li) * 2.5), 49%)) 100%
        with 100% calc(100% - var(--r-cal-li) * 0.1)
        / calc(100% - var(--r-cal-li) * 0.1) 100%,
    hline to min(calc(var(--r-cal-li) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-cal-li) * 2.5), 49%))
        with calc(var(--r-cal-li) * 0.1) 100%
        / 0px calc(100% - var(--r-cal-li) * 0.1),
    vline to min(calc(var(--r-cal-li) * 2.5), 49%),
    curve to min(calc(var(--r-cal-li) * 2.5), 49%) 0px
        with 0px calc(var(--r-cal-li) * 0.1)
        / calc(var(--r-cal-li) * 0.1) 0px
  );

  --squircle-cal-li-rosso: shape(
    from min(calc(var(--r-cal-li-rosso) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-cal-li-rosso) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-cal-li-rosso) * 2.5), 49%)
        with calc(100% - var(--r-cal-li-rosso) * 0.1) 0px
        / 100% calc(var(--r-cal-li-rosso) * 0.1),
    vline to calc(100% - min(calc(var(--r-cal-li-rosso) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-cal-li-rosso) * 2.5), 49%)) 100%
        with 100% calc(100% - var(--r-cal-li-rosso) * 0.1)
        / calc(100% - var(--r-cal-li-rosso) * 0.1) 100%,
    hline to min(calc(var(--r-cal-li-rosso) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-cal-li-rosso) * 2.5), 49%))
        with calc(var(--r-cal-li-rosso) * 0.1) 100%
        / 0px calc(100% - var(--r-cal-li-rosso) * 0.1),
    vline to min(calc(var(--r-cal-li-rosso) * 2.5), 49%),
    curve to min(calc(var(--r-cal-li-rosso) * 2.5), 49%) 0px
        with 0px calc(var(--r-cal-li-rosso) * 0.1)
        / calc(var(--r-cal-li-rosso) * 0.1) 0px
  );

  --squircle-cal-day: shape(
    from min(calc(var(--r-cal-day) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-cal-day) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-cal-day) * 2.5), 49%)
        with calc(100% - var(--r-cal-day) * 0.1) 0px
        / 100% calc(var(--r-cal-day) * 0.1),
    vline to calc(100% - min(calc(var(--r-cal-day) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-cal-day) * 2.5), 49%)) 100%
        with 100% calc(100% - var(--r-cal-day) * 0.1)
        / calc(100% - var(--r-cal-day) * 0.1) 100%,
    hline to min(calc(var(--r-cal-day) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-cal-day) * 2.5), 49%))
        with calc(var(--r-cal-day) * 0.1) 100%
        / 0px calc(100% - var(--r-cal-day) * 0.1),
    vline to min(calc(var(--r-cal-day) * 2.5), 49%),
    curve to min(calc(var(--r-cal-day) * 2.5), 49%) 0px
        with 0px calc(var(--r-cal-day) * 0.1)
        / calc(var(--r-cal-day) * 0.1) 0px
  );

  /* ---------- ROUNDED RECT iOS ADATTIVI (min clamp 49%) ---------- */
  --squircle-btn: shape(
    from min(calc(var(--r-btn) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-btn) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-btn) * 2.5), 49%) with calc(100% - var(--r-btn) * 0.1) 0px / 100% calc(var(--r-btn) * 0.1),
    vline to calc(100% - min(calc(var(--r-btn) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-btn) * 2.5), 49%)) 100% with 100% calc(100% - var(--r-btn) * 0.1) / calc(100% - var(--r-btn) * 0.1) 100%,
    hline to min(calc(var(--r-btn) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-btn) * 2.5), 49%)) with calc(var(--r-btn) * 0.1) 100% / 0px calc(100% - var(--r-btn) * 0.1),
    vline to min(calc(var(--r-btn) * 2.5), 49%),
    curve to min(calc(var(--r-btn) * 2.5), 49%) 0px with 0px calc(var(--r-btn) * 0.1) / calc(var(--r-btn) * 0.1) 0px
  );

  --squircle-cal-call: shape(
    from min(calc(var(--r-cal-call) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-cal-call) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-cal-call) * 2.5), 49%) with calc(100% - var(--r-cal-call) * 0.1) 0px / 100% calc(var(--r-cal-call) * 0.1),
    vline to calc(100% - min(calc(var(--r-cal-call) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-cal-call) * 2.5), 49%)) 100% with 100% calc(100% - var(--r-cal-call) * 0.1) / calc(100% - var(--r-cal-call) * 0.1) 100%,
    hline to min(calc(var(--r-cal-call) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-cal-call) * 2.5), 49%)) with calc(var(--r-cal-call) * 0.1) 100% / 0px calc(100% - var(--r-cal-call) * 0.1),
    vline to min(calc(var(--r-cal-call) * 2.5), 49%),
    curve to min(calc(var(--r-cal-call) * 2.5), 49%) 0px with 0px calc(var(--r-cal-call) * 0.1) / calc(var(--r-cal-call) * 0.1) 0px
  );

  --squircle-cal-aperto-chiuso: shape(
    from min(calc(var(--r-cal-aperto-chiuso) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-cal-aperto-chiuso) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-cal-aperto-chiuso) * 2.5), 49%) with calc(100% - var(--r-cal-aperto-chiuso) * 0.1) 0px / 100% calc(var(--r-cal-aperto-chiuso) * 0.1),
    vline to calc(100% - min(calc(var(--r-cal-aperto-chiuso) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-cal-aperto-chiuso) * 2.5), 49%)) 100% with 100% calc(100% - var(--r-cal-aperto-chiuso) * 0.1) / calc(100% - var(--r-cal-aperto-chiuso) * 0.1) 100%,
    hline to min(calc(var(--r-cal-aperto-chiuso) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-cal-aperto-chiuso) * 2.5), 49%)) with calc(var(--r-cal-aperto-chiuso) * 0.1) 100% / 0px calc(100% - var(--r-cal-aperto-chiuso) * 0.1),
    vline to min(calc(var(--r-cal-aperto-chiuso) * 2.5), 49%),
    curve to min(calc(var(--r-cal-aperto-chiuso) * 2.5), 49%) 0px with 0px calc(var(--r-cal-aperto-chiuso) * 0.1) / calc(var(--r-cal-aperto-chiuso) * 0.1) 0px
  );

  --squircle-cal-notes-appuntamento: shape(
    from min(calc(var(--r-cal-notes-appuntamento) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-cal-notes-appuntamento) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-cal-notes-appuntamento) * 2.5), 49%) with calc(100% - var(--r-cal-notes-appuntamento) * 0.1) 0px / 100% calc(var(--r-cal-notes-appuntamento) * 0.1),
    vline to calc(100% - min(calc(var(--r-cal-notes-appuntamento) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-cal-notes-appuntamento) * 2.5), 49%)) 100% with 100% calc(100% - var(--r-cal-notes-appuntamento) * 0.1) / calc(100% - var(--r-cal-notes-appuntamento) * 0.1) 100%,
    hline to min(calc(var(--r-cal-notes-appuntamento) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-cal-notes-appuntamento) * 2.5), 49%)) with calc(var(--r-cal-notes-appuntamento) * 0.1) 100% / 0px calc(100% - var(--r-cal-notes-appuntamento) * 0.1),
    vline to min(calc(var(--r-cal-notes-appuntamento) * 2.5), 49%),
    curve to min(calc(var(--r-cal-notes-appuntamento) * 2.5), 49%) 0px with 0px calc(var(--r-cal-notes-appuntamento) * 0.1) / calc(var(--r-cal-notes-appuntamento) * 0.1) 0px
  );

  /* ---------- CARD ASIMMETRICO TOP/BOTTOM ---------- */
  --squircle-company: shape(
    from var(--r-company-top) 0px,
    hline to calc(100% - var(--r-company-top)),
    curve to 100% var(--r-company-top) with calc(100% - var(--r-company-top) * 0.45) 0px / 100% calc(var(--r-company-top) * 0.45),
    vline to calc(100% - var(--r-company-bottom)),
    curve to calc(100% - var(--r-company-bottom)) 100% with 100% calc(100% - var(--r-company-bottom) * 0.45) / calc(100% - var(--r-company-bottom) * 0.45) 100%,
    hline to var(--r-company-bottom),
    curve to 0px calc(100% - var(--r-company-bottom)) with calc(var(--r-company-bottom) * 0.45) 100% / 0px calc(100% - var(--r-company-bottom) * 0.45),
    vline to var(--r-company-top),
    curve to var(--r-company-top) 0px with 0px calc(var(--r-company-top) * 0.45) / calc(var(--r-company-top) * 0.45) 0px
  );

  /* ---------- FANCY FRAME ASIMMETRICO 4 RAGGI ---------- */
  --squircle-da-link: shape(
    from min(calc(var(--r-link-da-link-tl) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-link-da-link-tr) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-link-da-link-tr) * 2.5), 49%)
        with calc(100% - var(--r-link-da-link-tr) * 0.1) 0px
        / 100% calc(var(--r-link-da-link-tr) * 0.1),
    vline to calc(100% - min(calc(var(--r-link-da-link-br) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-link-da-link-br) * 2.5), 49%)) 100%
        with 100% calc(100% - var(--r-link-da-link-br) * 0.1)
        / calc(100% - var(--r-link-da-link-br) * 0.1) 100%,
    hline to min(calc(var(--r-link-da-link-bl) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-link-da-link-bl) * 2.5), 49%))
        with calc(var(--r-link-da-link-bl) * 0.1) 100%
        / 0px calc(100% - var(--r-link-da-link-bl) * 0.1),
    vline to min(calc(var(--r-link-da-link-tl) * 2.5), 49%),
    curve to min(calc(var(--r-link-da-link-tl) * 2.5), 49%) 0px
        with 0px calc(var(--r-link-da-link-tl) * 0.1)
        / calc(var(--r-link-da-link-tl) * 0.1) 0px
  );

  --squircle-dipendenti: shape(
    from min(calc(var(--r-link-dipendenti-tl) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-link-dipendenti-tr) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-link-dipendenti-tr) * 2.5), 49%)
        with calc(100% - var(--r-link-dipendenti-tr) * 0.1) 0px
        / 100% calc(var(--r-link-dipendenti-tr) * 0.1),
    vline to calc(100% - min(calc(var(--r-link-dipendenti-br) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-link-dipendenti-br) * 2.5), 49%)) 100%
        with 100% calc(100% - var(--r-link-dipendenti-br) * 0.1)
        / calc(100% - var(--r-link-dipendenti-br) * 0.1) 100%,
    hline to min(calc(var(--r-link-dipendenti-bl) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-link-dipendenti-bl) * 2.5), 49%))
        with calc(var(--r-link-dipendenti-bl) * 0.1) 100%
        / 0px calc(100% - var(--r-link-dipendenti-bl) * 0.1),
    vline to min(calc(var(--r-link-dipendenti-tl) * 2.5), 49%),
    curve to min(calc(var(--r-link-dipendenti-tl) * 2.5), 49%) 0px
        with 0px calc(var(--r-link-dipendenti-tl) * 0.1)
        / calc(var(--r-link-dipendenti-tl) * 0.1) 0px
  );

  --squircle-da-social: shape(
    from min(calc(var(--r-link-da-social-tl) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-link-da-social-tr) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-link-da-social-tr) * 2.5), 49%)
        with calc(100% - var(--r-link-da-social-tr) * 0.1) 0px
        / 100% calc(var(--r-link-da-social-tr) * 0.1),
    vline to calc(100% - min(calc(var(--r-link-da-social-br) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-link-da-social-br) * 2.5), 49%)) 100%
        with 100% calc(100% - var(--r-link-da-social-br) * 0.1)
        / calc(100% - var(--r-link-da-social-br) * 0.1) 100%,
    hline to min(calc(var(--r-link-da-social-bl) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-link-da-social-bl) * 2.5), 49%))
        with calc(var(--r-link-da-social-bl) * 0.1) 100%
        / 0px calc(100% - var(--r-link-da-social-bl) * 0.1),
    vline to min(calc(var(--r-link-da-social-tl) * 2.5), 49%),
    curve to min(calc(var(--r-link-da-social-tl) * 2.5), 49%) 0px
        with 0px calc(var(--r-link-da-social-tl) * 0.1)
        / calc(var(--r-link-da-social-tl) * 0.1) 0px
  );

  /* ---------- PULSANTI INTERNI (rounded-rect iOS adattivo) ---------- */
  --squircle-btn-tel-mail: shape(
    from min(calc(var(--r-btn-tel-mail) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-btn-tel-mail) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-btn-tel-mail) * 2.5), 49%)
        with calc(100% - var(--r-btn-tel-mail) * 0.1) 0px
        / 100% calc(var(--r-btn-tel-mail) * 0.1),
    vline to calc(100% - min(calc(var(--r-btn-tel-mail) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-btn-tel-mail) * 2.5), 49%)) 100%
        with 100% calc(100% - var(--r-btn-tel-mail) * 0.1)
        / calc(100% - var(--r-btn-tel-mail) * 0.1) 100%,
    hline to min(calc(var(--r-btn-tel-mail) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-btn-tel-mail) * 2.5), 49%))
        with calc(var(--r-btn-tel-mail) * 0.1) 100%
        / 0px calc(100% - var(--r-btn-tel-mail) * 0.1),
    vline to min(calc(var(--r-btn-tel-mail) * 2.5), 49%),
    curve to min(calc(var(--r-btn-tel-mail) * 2.5), 49%) 0px
        with 0px calc(var(--r-btn-tel-mail) * 0.1)
        / calc(var(--r-btn-tel-mail) * 0.1) 0px
  );

  --squircle-btn-azienda-info: shape(
    from min(calc(var(--r-btn-azienda-info) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-btn-azienda-info) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-btn-azienda-info) * 2.5), 49%)
        with calc(100% - var(--r-btn-azienda-info) * 0.1) 0px
        / 100% calc(var(--r-btn-azienda-info) * 0.1),
    vline to calc(100% - min(calc(var(--r-btn-azienda-info) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-btn-azienda-info) * 2.5), 49%)) 100%
        with 100% calc(100% - var(--r-btn-azienda-info) * 0.1)
        / calc(100% - var(--r-btn-azienda-info) * 0.1) 100%,
    hline to min(calc(var(--r-btn-azienda-info) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-btn-azienda-info) * 2.5), 49%))
        with calc(var(--r-btn-azienda-info) * 0.1) 100%
        / 0px calc(100% - var(--r-btn-azienda-info) * 0.1),
    vline to min(calc(var(--r-btn-azienda-info) * 2.5), 49%),
    curve to min(calc(var(--r-btn-azienda-info) * 2.5), 49%) 0px
        with 0px calc(var(--r-btn-azienda-info) * 0.1)
        / calc(var(--r-btn-azienda-info) * 0.1) 0px
  );

  --squircle-btn-azienda-sedi: shape(
    from min(calc(var(--r-btn-azienda-sedi) * 2.5), 49%) 0px,
    hline to calc(100% - min(calc(var(--r-btn-azienda-sedi) * 2.5), 49%)),
    curve to 100% min(calc(var(--r-btn-azienda-sedi) * 2.5), 49%)
        with calc(100% - var(--r-btn-azienda-sedi) * 0.1) 0px
        / 100% calc(var(--r-btn-azienda-sedi) * 0.1),
    vline to calc(100% - min(calc(var(--r-btn-azienda-sedi) * 2.5), 49%)),
    curve to calc(100% - min(calc(var(--r-btn-azienda-sedi) * 2.5), 49%)) 100%
        with 100% calc(100% - var(--r-btn-azienda-sedi) * 0.1)
        / calc(100% - var(--r-btn-azienda-sedi) * 0.1) 100%,
    hline to min(calc(var(--r-btn-azienda-sedi) * 2.5), 49%),
    curve to 0px calc(100% - min(calc(var(--r-btn-azienda-sedi) * 2.5), 49%))
        with calc(var(--r-btn-azienda-sedi) * 0.1) 100%
        / 0px calc(100% - var(--r-btn-azienda-sedi) * 0.1),
    vline to min(calc(var(--r-btn-azienda-sedi) * 2.5), 49%),
    curve to min(calc(var(--r-btn-azienda-sedi) * 2.5), 49%) 0px
        with 0px calc(var(--r-btn-azienda-sedi) * 0.1)
        / calc(var(--r-btn-azienda-sedi) * 0.1) 0px
  );

  /* ---------- ICONA DIPENDENTI (fancy-frame simmetrico) ---------- */
  --squircle-dip-icon: shape(
    from calc(var(--r-dip-icon) * 1.5) calc(var(--r-dip-icon) * 0.1),
    curve to 50% 0px with calc(var(--r-dip-icon) * 2) 0px,
    curve to calc(100% - var(--r-dip-icon) * 1.5) calc(var(--r-dip-icon) * 0.1) with calc(100% - var(--r-dip-icon) * 2) 0px,
    curve to calc(100% - var(--r-dip-icon) * 0.1) calc(var(--r-dip-icon) * 1.5) with calc(100% - var(--r-dip-icon) * 0.3333) calc(var(--r-dip-icon) * 0.3333),
    curve to 100% 50% with 100% calc(var(--r-dip-icon) * 2),
    curve to calc(100% - var(--r-dip-icon) * 0.1) calc(100% - var(--r-dip-icon) * 1.5) with 100% calc(100% - var(--r-dip-icon) * 2),
    curve to calc(100% - var(--r-dip-icon) * 1.5) calc(100% - var(--r-dip-icon) * 0.1) with calc(100% - var(--r-dip-icon) * 0.3333) calc(100% - var(--r-dip-icon) * 0.3333),
    curve to 50% 100% with calc(100% - var(--r-dip-icon) * 2) 100%,
    curve to calc(var(--r-dip-icon) * 1.5) calc(100% - var(--r-dip-icon) * 0.1) with calc(var(--r-dip-icon) * 2) 100%,
    curve to calc(var(--r-dip-icon) * 0.1) calc(100% - var(--r-dip-icon) * 1.5) with calc(var(--r-dip-icon) * 0.3333) calc(100% - var(--r-dip-icon) * 0.3333),
    curve to 0px 50% with 0px calc(100% - var(--r-dip-icon) * 2),
    curve to calc(var(--r-dip-icon) * 0.1) calc(var(--r-dip-icon) * 1.5) with 0px calc(var(--r-dip-icon) * 2),
    curve to calc(var(--r-dip-icon) * 1.5) calc(var(--r-dip-icon) * 0.1) with calc(var(--r-dip-icon) * 0.3333) calc(var(--r-dip-icon) * 0.3333)
  );
}
::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}
::selection {
    background: #b3d4fc;
    text-shadow: none;
}

:root {
    --margin-top-content: 75px;
    --margin-viewport: 75px;
}

html {
}

html,
body {
    padding: 0;
    margin: 0;
    /* `overflow-x: clip` (CSS3, Chrome 90+/Safari 16+/Firefox 81+) impedisce
       lo scroll orizzontale causato dagli SVG-sibling delle ombre quando
       l'elemento target e' vicino al bordo destro della pagina: l'SVG
       dimensionato w+2*pad sfora il container ma `clip` evita lo scrollbar
       senza creare un nuovo containing block (cosa che `overflow: hidden`
       farebbe e potrebbe rompere `position: fixed` di altri elementi).
       Fallback per browser piu' vecchi: `overflow-x: hidden`.
       `!important` serve perche' app.js fa `$('html').css('overflow', 'auto')`
       come inline-style alla chiusura di un pannello, e l'inline shorthand
       `overflow` sovrascriverebbe il nostro `overflow-x` non-important. */
    overflow-x: hidden !important;
    overflow-x: clip !important;
}

body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    background-color:#fff;
}

body {
    font-family: "Fira Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 18px;
    line-height: 25px;
    font-weight: 300;
    padding: 0;
    margin: 0;
    overflow-x: hidden;
    background-color: #f8f8f8;
}

/*--- blockquote ---*/

blockquote { font-style: italic; }
blockquote:before { content: "\201C";display: inline-block;padding-right: .4em; }

/*--- emphasized ---*/

strong { font-weight: bold; }
em { font-style: italic; }

/*--- paragrafi ---*/
p::-moz-selection { background: gold; }

p { -moz-user-select:text; }

p {
    position:relative;
    margin:0 0 0 0;
    padding:0 0 0 0;
    font-size:16px;
    font-weight:300;
    line-height:25px;
    color:#333;
    letter-spacing:0px;
/*
    font-family: 'Lato', sans-serif;
*/
}

/*--- ancore ---*/
a {
    position:relative;
    color:#333;
    text-decoration: none;
    outline: none;
}

a:hover {
    color:#888;
}

/*--- hx ---*/
h1,
h2,
h3,
h4,
h5 {
    position:relative;
    margin:0;
    padding:0;
    color:#333;
}

/*--- spacers ---*/

.dummy-10 { height:10px;line-height:10px; }
.dummy-20 { height:20px;line-height:20px; }
.dummy-30 { height:30px;line-height:30px; }
.dummy-40 { height:40px;line-height:40px; }
.dummy-50 { height:50px;line-height:50px; }
.dummy-60 { height:60px;line-height:60px; }
.dummy-70 { height:70px;line-height:70px; }
.dummy-80 { height:80px;line-height:80px; }
.dummy-90 { height:90px;line-height:90px; }
.dummy-100 { height:100px;line-height:100px; }

[class*="dummy-"] {
    display:block;
    padding:0;
    margin:0;
    width:100%;
}

[class*="dummy-"]::after {
    content: ".";
    visibility: hidden;
}

.spacer1 { padding:1px; }
.spacer2 { padding:2px; }
.spacer3 { padding:3px; }
.spacer4 { padding:4px; }
.spacer5 { padding:5px; }
.spacer6 { padding:6px; }
.spacer7 { padding:7px; }
.spacer8 { padding:8px; }
.spacer9 { padding:9px; }
.spacer10 { padding:10px; }
.spacer15 { padding:15px; }
.spacer20 { padding:20px; }
.spacer25 { padding:25px; }
.spacer30 { padding:30px; }
.spacer35 { padding:35px; }
.spacer40 { padding:40px; }
.spacer45 { padding:45px; }
.spacer50 { padding:50px; }

[class*="spacer"] {
    width:100%;
    display:block;
    clear: both;
}

/*--- reset floating ---*/

.clearfix:before,
.clearfix:after { display: table;content: " "; }
.clearfix:after { clear: both; }
.clear { clear: both;display: block;overflow: hidden;visibility: hidden;width: 0;height: 0; }

/*--- floating ---*/

.fleft { float:left; }
.fright { float:right; }

/*--- text align ---*/

.text-left { text-align:left; }
.text-center { text-align:center; }
.text-right { text-align:right; }

/*--- image ---*/

img { 
    max-width:100%;
    height:auto;
    border:none;
    outline: none;
    display:block; 
}

/*--- blur effect ---*/
.blur {
    -webkit-filter:blur(5px);
    filter:blur(5px);
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}
/*--- ! ---*/

/*--- overlay ---*/

:root {
    --overlay-background-color: rgba(51,51,51,0.35);
}

#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color:var(--overlay-background-color);
    opacity:0;
    z-index:70000;
}

#overlayclose {
    position:fixed;
    top:1px;
    right:10px;
    padding:5px;
    text-align:center;
    z-index:72000;
}

/*--- ! ---*/

/*--- display policy-privacy inline ---*/
.privacy-inline {
    position: fixed;
    top:0;
    left:0;
    bottom: auto;
    right: auto;
    width: 100%;
    margin:0 auto;
    padding: 0;
    height: 100vh;
    overflow-y: auto;
    z-index:71000;
    display:none;
    opacity: 0;
    transition: all 0.5s ease-out;
    background-color: rgba(255,255,255,0.9);
}
/*--- ! ---*/

/*--- for icomoon icons */
.glyph {
    font-size: 16px;
    width: 15em;
    float: left;
    overflow: hidden;
}

.fs1 {
    font-size: 32px;
}

.icon {
    display: inline-block;
    font-size: 50px;
    color:#333;  
}

/*--- ! ---*/

.main {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

@media only screen and (min-width: 769px) {
    .main {
        max-width: 500px;
    }
}


.widget-recensioni {
    position: relative;
    padding: 20px 20px 20px;
}

a.btn {
    position: relative;
    width: 160px;
    height: 30px;
    background-color: #4285f4;
    border: 1px solid #4285f4;
    color: #fff;
    line-height: 28px;
    padding: 0 12px;
    border-radius: 2px;
    outline: none;
    text-decoration: none;
    display: flex;
    justify-content: center;
    font-size: 16px;
}

a.open-map-navigation {
  position: absolute;
    top: auto;
    left: 50%;
    margin-left: -80px;
    right: auto;
    bottom: 12px;
    width: 160px;
    height: 30px;
    background-color: #4285f4;
    border: 1px solid #4285f4;
    color: #fff;
    line-height: 28px;
    padding: 0 12px;
    border-radius: 2px;
    outline: none;
    text-decoration: none;
    display: flex;
    justify-content: center;
    font-size: 16px;
}

/*--- ! ---*/

/*--- layout defaults ---*/

.header {
    position: relative;
    flex: 1 100%;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    min-height: 50px;
    padding:0 10px 0 10px;
}

.header .logo {
    float: left;
    width: 50%;
    max-width: 170px;
    text-align: left;
    height: 50px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 18px;
}

.panel-e-ricerca {
    width:50%;
    float:right;
    height: 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    position: relative;
}

.header .search-icon {
    float: right;
    width: 30%;
    text-align: left;
    height: 50px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 18px;
}

.header span.domain {
    font-size: 18px;
}

.header .hamburger {
    float: right;
    width: 50px;
    text-align: right;
    height: 50px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;

}

.header .hamburger a {
    width: 50px;
}

.ricerca {
    float: left;
    width: 50px;
    max-width: 50px;
    height: 50px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}

.wrapper-container {
    display: flex;  
    flex-flow: row wrap;
    position: relative;
    height: 100%;
    padding: 0 10px 10px 10px;
}

.wrapper {
    display: flex;  
    flex-flow: row wrap;
    justify-content: space-around;
    font-weight: bold;
    text-align: center;
    width: 100%;
}

.element-95 {
    width: 95%;
    margin-bottom:10px !important;
}

.element-50 {
    width: calc(50% - 15px);
    margin-bottom:10px !important;
}

.element-50-left {
    left:10px;
}

.element-50-right {
    right:10px;
}

.element {
    border-radius:5px;
    background: #fff;
}

.element-dynamic {
    transition: all 0.5s ease-out;
}

.element-company {
    padding-bottom:0 !important;
    /* Knobs in :root: --r-company-top / -bottom -> shape --squircle-company. */
    clip-path: var(--squircle-company);
    /* shadow gestita internamente da .element-company-near */
    box-shadow: none;
}

.element-company-near {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 10px 10px 10px 0px;
    /* Knob in :root: --r-company-near -> shape --squircle-company-near.
       Ombra uniforme con gli altri blocchi (generata come SVG sibling
       da app.js perche' qui c'e' clip-path che taglierebbe la box-shadow CSS). */
    clip-path: var(--squircle-company-near);
    /* box-shadow: none qui; il valore effettivo viene da .block-shadow-multiply
       (HTML class) che applica 4px 4px 8px rgba(165,178,186,0.2) - stesso
       setup del LIVE. */
    box-shadow: none;
    background: #fff;
    margin:0 0 10px 0;
    /* min-height: 110px; */
/*
    overflow: hidden;
*/
    height:auto;
    /* --distance e' la distanza in km settata inline dal PHP. Usata SOLO
       dal `.distance-badge` per modulare il colore (NON applico opacita'
       all'intero card, sennò sbiadisce anche il logo/testo/icona-PRO). */
    --distance: 0;
}

/* ---- distance-badge: pill verde posizionata in BASSO A DESTRA del card
   (l'angolo in alto a destra e' occupato dall'icona PRO/bookmark).
   Colore base #76BD75 modulato in funzione di --distance: piu' lontano =
   leggermente piu' sbiadito. Variazione MOLTO lenta:
     0 km  -> #76BD75 puro
     5 km  -> mix 80% #76BD75 + 20% #b8d3b8 (verde leggermente desaturato)
   color-mix con clamp evita di andare oltre il 20% anche se --distance > 5km. */
/* ---- distance-badge: "ticket" squircle a doppia sezione, bottom-right.
   Struttura visiva:
     [ logo eccoci verde su bianco ] [ valore km su sezione verde piena ]
   Il logo eccoci sostituisce l'iconcina pin -> brand recognition immediata.
   Forma squircle iOS via --squircle-btn (clip-path) con r piccolo (6px),
   il clamp interno 49% sull'asse Y trasforma il rect in pillola-squircle.
   Niente border CSS (verrebbe clippato dal clip-path lasciando "ombrette"
   ai bordi): uso box-shadow inset per il bordo verde. */
/* Container VERDE: e' il "bordo" del pulsante unico. Background verde +
   padding 1.5px = lo spessore del bordo visibile sui 4 lati. Clip-path
   squircle sui 4 angoli. Le 2 sezioni interne (bianco + verde valore)
   sono attaccate senza gap e hanno solo gli angoli ESTERNI squircle,
   lato di contatto centrale dritto. */
.element-company-near .distance-badge {
    position: absolute;
    bottom: 20px;
    right: 15px;
    display: inline-flex;
    align-items: stretch;
    gap: 0;
    padding: 1.5px;
    background: #76BD75;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: -0.2px;
    line-height: 1;
    clip-path: shape(
        from 9px 0px,
        hline to calc(100% - 9px),
        curve to 100% 9px with calc(100% - 1.35px) 0px / 100% 1.35px,
        vline to calc(100% - 9px),
        curve to calc(100% - 9px) 100% with 100% calc(100% - 1.35px) / calc(100% - 1.35px) 100%,
        hline to 9px,
        curve to 0px calc(100% - 9px) with 1.35px 100% / 0px calc(100% - 1.35px),
        vline to 9px,
        curve to 9px 0px with 0px 1.35px / 1.35px 0px
    );
    z-index: 2;
    pointer-events: none;
    white-space: nowrap;
}

/* CAPSULA SX BIANCA: squircle SOLO sui 2 angoli sinistri (TL, BL). Lato
   destro dritto -> si attacca alla capsula verde senza spazio. Il pin
   eccoci verde resta visibile sopra il bianco. */
.element-company-near .distance-badge .distance-pin-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    padding: 5px 7px;
    clip-path: shape(
        from 8px 0px,
        hline to 100%,
        vline to 100%,
        hline to 8px,
        curve to 0px calc(100% - 8px) with 1.2px 100% / 0px calc(100% - 1.2px),
        vline to 8px,
        curve to 8px 0px with 0px 1.2px / 1.2px 0px
    );
}

.element-company-near .distance-badge .distance-pin {
    display: block;
    width: 14px;
    height: 14px;
    fill: #76BD75;
    flex-shrink: 0;
    filter: drop-shadow(0 0 1.5px rgba(118, 189, 117, 0.5));
}

/* CAPSULA DX VERDE: squircle SOLO sui 2 angoli destri (TR, BR). Lato
   sinistro dritto -> si attacca alla capsula bianca senza spazio. Testo
   km in bianco grassetto su verde pieno = leggibilita' massima. */
.element-company-near .distance-badge .distance-value {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px 6px 11px;
    background: #76BD75;
    color: #fff;
    font-variant-numeric: tabular-nums;
    clip-path: shape(
        from 0px 0px,
        hline to calc(100% - 8px),
        curve to 100% 8px with calc(100% - 1.2px) 0px / 100% 1.2px,
        vline to calc(100% - 8px),
        curve to calc(100% - 8px) 100% with 100% calc(100% - 1.2px) / calc(100% - 1.2px) 100%,
        hline to 0px,
        vline to 0px
    );
}

.btn-azienda-sedi-container .element-company-near {
/*
    padding: 0 0 0 0;
*/    
}

.element-company-near a {
    position: relative;
    width: 100%;
    color:#333;
    display: flex;
    height: auto;
/*
    align-items: center;
*/
}

/* .distance-badge è position:absolute bottom:20px right:15px → il testo
   in flow normale può finire SOTTO il badge. Riservo spazio sull'address
   (l'ultima riga di testo, sempre vicina al bordo basso dove sta il badge)
   tramite padding-right pari a larghezza-badge (~80px) + offset right
   (15px) + margine. */
.element-company-near .element-company-address {
    padding-right: 100px;
    box-sizing: border-box;
}

.element-company-near a:hover {
    color:#333;
}

.primo-element-company-near {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding: 10px;
    margin: 0 0 10px 0;
    overflow: hidden;
    justify-content: center    
/*
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding: 10px;
    box-shadow: 4px 4px 8px rgba(165, 178, 186, 0.2);
    border-radius: 5px;
    background: #fff;
    margin: 0 0 10px 0;
    min-height: 110px;
    overflow: hidden;
*/    
}
.primo-element-company-near p {
    position: relative;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 25px;
    color: #333;
    letter-spacing: 0px;    
    text-align: center;
    min-height: 50px;
}

.element-dynamic.active {
}

/* for gradients animations */
@keyframes glowing {
    0% { background-position: 0 0; }
    50% { background-position: 400% 0; }
    100% { background-position: 0 0; }
}

.element-title {
    font-size: 14px;
    font-weight: 300;
    padding: 0 0 0 0;
}

.element-single .element-title {
    font-size: 14px;
    font-weight: 500;
    padding: 0 0 0 10px;
}

.element-multiple .element-title {
    font-size: 12px;
    font-weight: 300;
    padding: 0 0 0 0;
    color: #777;
}

.element-single {
    display: flex;  
    margin:10px 0 0 0;
    flex: 1 100%;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row;
}

/* referer to element-single */
.element-company {
    min-height: 110px;
    display: block;
    margin: 0 10px 0 10px;
    position: relative;
    overflow: hidden;
}

.element-company.company-circuito {
    margin:0 !important;
/*
    box-shadow: 4px 4px 8px rgba(165, 178, 186, 0.2);
*/
}

.btn-azienda-sedi-container .element-company {
    margin: 0 0 0 0;
}

.element-company-inner {
    position: relative;
    height: 100%;
    min-height: 100px;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding:0;
}

@media only screen and (max-width: 414px) {
    .element-company-inner {
        padding: 20px 0 0 0;
    }
}

.element-company-inner.page-near  {
    border:2px solid #ddd;
    border-radius:5px;
}

.element-company-inner.page-near.first  {
    border-color:#00C3FF;
}

.element-company .element-company-logo {
    display: flex;
    width: 100%;
    max-width: 80px;
    float: left;
    margin-right: 15px;
    margin-left: 10px;
}

.element-company .element-company-logo img {
    /* Knob in :root: --r-logo -> shape --squircle-logo-shape. */
    clip-path: var(--squircle-logo-shape);
    /* nessuna box-shadow sul logo (rimossa su richiesta) */
    width: 50px;
    height: 50px;
}

.element-company .element-company-name {
    font-size:18px;
    font-weight: 500;
    width: calc(100% - 120px);
    float: left;
    text-align: left;
}

.element-company .element-company-address {
    font-size: 14px;
    line-height: 16px;
    font-weight: 200;
    margin: 10px 0 0;
}

.element-company .element-company-bookmark {
    width: 28px;
    position: absolute;
    left: auto;
    bottom: auto;
    right: 5px;
    top: -15px;
    z-index: 2;
    display: none;
}

.element-company .element-company-info {
    width: 35px;
    position: absolute;
    left: auto;
    top: 10px;
    right: 10px;
    bottom: auto;
}

#actualposition .element-company .element-company-info {
    bottom: -17px;
}

.element-company .element-company-go {
    width: 100%;
    margin: 10px 0 0 0;
    clear: both;
    text-align: center;
    position: relative;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color:#00C3FF;
    color: #fff;
    font-weight: 400;
    text-transform: uppercase;
}

.list-around {
    position: relative;
    margin:0 0 20px 0;
    text-align: center;
}

.nelle-vicinanze {
    width: 100%;
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    margin:0 0 0 0;
}

.nelle-vicinanze.accedi {
    font-size: 14px;
}

.tel-testo {
    display:inline;
}

@media only screen and (max-width: 370px) {
    .tel-testo {
        display:none;
    }

    .azienda-dipendente-top .azienda-dipendente-call-qrcode .sez-call-popup {
        max-width: 40px;
        padding: 0 15px 0 5px !important;
    }
}

.element-multiple { 
    display: flex;
    font-weight: bold;
    margin:10px 0 0 0;
    width: 100%;
}

.element-multiple.no-flex { 
}


/*--- referer to element-multiple ---*/
.element-multiple-block {
    align-items:center;
    display:flex;
    justify-content: center;
    flex:1 0 0;
    margin:0 10px 0 0;
    flex-wrap: wrap;
    flex-direction: column;
    /* Knob in :root: --r-block -> shape --squircle-block. */
    clip-path: var(--squircle-block);
    /* Box-shadow letta da app.js per generare l'SVG-sibling che mostra
       l'ombra esternamente al clip-path. Se settata a 'none' lo script
       NON crea l'SVG -> ombre invisibili. Mantenere il valore. */
    /* box-shadow: none qui; il valore effettivo viene da .block-shadow-multiply
       (HTML class) che applica 4px 4px 8px rgba(165,178,186,0.2) - stesso
       setup del LIVE. */
    box-shadow: none;
}

.element-multiple-block:last-child {
  margin:0 0 0 0;
  /* border-radius rimosso: la forma e' ora data da clip-path var(--squircle) sul parent .element-multiple-block */
}

.element-multiple-block.no-flex-left {
    padding: 0 15% 0 15%;
}

.element-multiple-block.no-flex-right {
    padding:0 15px 0 15px;
}

.element-multiple-block.element-offerta {
    display: flex;
    flex-direction: row;
    align-items: center;
    background-color: #5bccfd;
    padding: 10px 20px;
}

.element-multiple-block.element-offerta h3,
.element-multiple-block.element-offerta p {
    color: #0069b4;
}

.element-multiple-block.element-offerta h3 {
    font-size:22px;
    font-weight:500;
    line-height: 24px;
}

.element-multiple-block.element-offerta p {
    margin:0;
    font-size:16px;
    font-weight:300;
    line-height: 18px;
}

.element-multiple-block.element-offerta img {
    margin-right:10px;
}

.element-multiple-block.element-offerta .text {
}

.element-multiple-block.element-btn {
    flex-direction: row;
    padding:5px 0;
    /* Knob in :root: --r-btn -> shape --squircle-btn (rounded-rect iOS adattivo). */
    clip-path: var(--squircle-btn);
}

/* ---- shine-btn: riflesso che scivola periodicamente.
   Applicabile su qualsiasi pulsante (es. .sez-datiaziendali) per evidenziarlo.
   Il clip-path squircle del pulsante clippa anche il ::before -> il riflesso
   segue automaticamente la forma squircle senza overflow visibili.
   La regola `position: relative` e' gia' sui .element-* esistenti; lascio
   pero' come safety net inline. */
.shine-btn {
    position: relative;
    overflow: hidden;
}

.shine-btn::before {
    content: "";
    position: absolute;
    top: -50%;
    left: -75%;
    width: 50%;
    height: 200%;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0)    0%,
        rgba(255, 255, 255, 0.45) 50%,
        rgba(255, 255, 255, 0)  100%
    );
    transform: skewX(-20deg);
    filter: blur(4px);
    animation: shineSweep 5s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
}

@keyframes shineSweep {
    0%   { left: -75%; }
    60%  { left: 125%; }
    100% { left: 125%; }
}

@media (prefers-reduced-motion: reduce) {
    .shine-btn::before { animation: none; opacity: 0; }
}

.element-multiple-block.element-btn img {
/*
    margin-right:10px;
*/
}

.element-multiple-block.element-btn.btn-blu,
.element-multiple-block.element-btn.btn-blu .element-title {
    background-color: #22a7e0;
    color: #fff;
    padding: 5px;
    /* border-radius rimosso: forma data da clip-path var(--squircle) ereditato */
}

.element-multiple-block.element-btn.bianco,
.element-multiple-block.element-btn.btn-bianco .element-title {
    background-color: #fff;
    color: #333;
    padding: 4px 0 0 5px;
}

.element-footer {
/*
  margin: 0 10px 0 0;
  display: flex;
  flex: 1 0 0;
  align-items: center;
  justify-content: center;
*/
    align-items: center;
    display: flex;
    justify-content: center;
    flex: 1 0 0;
    margin: 0 10px 0 0;
    flex-wrap: wrap;
    flex-direction: column;
    /* Knob in :root: --r-footer -> shape --squircle-footer. */
    clip-path: var(--squircle-footer);
    /* Box-shadow letta da app.js per generare l'SVG-sibling. Mantenere
       il valore: se settata a 'none' lo script non genera niente. */
    /* box-shadow: none qui; il valore effettivo viene da .block-shadow-multiply
       (HTML class) che applica 4px 4px 8px rgba(165,178,186,0.2) - stesso
       setup del LIVE. */
    box-shadow: none;
}

.element-footer:last-child {
    margin:0 0 0 0;
}

.element-dynamic {

}

.element-column {
    flex-direction: column;
}

.element-credit {
    flex-direction: row;
    margin: 10px 0 0 0 !important;
}

.element-credit .credit {
    font-weight: 300;
    font-size:14px;
}

.element-credit img {
    width:20px;
    margin:0 5px;
}

/*--- type of shadow for all element ---*/

.block-shadow-multiply {
/* multiple shadow type 1:
  box-shadow: 9px 9px 16px rgb(163,177,198,0.6), -9px -9px 16px    rgba(255,255,255, 0.5);
*/
/* multiple shadow type 2:
  box-shadow: 4px 4px 8px rgb(163,177,198,0.5), -4px -4px 4px rgba(255,255,255, 0.5);
*/
/* shadow right bottom */
    box-shadow: 4px 4px 8px rgba(165,178,186,0.2);
}

/* Variante "near-square" dell'.element-multiple-block. La forma e' ora data
   dal clip-path: var(--squircle) ereditato dal parent .element-multiple-block;
   nessun border-radius qui per non comporre con il clip-path. */

.block-shadow-1 {
    box-shadow: 0 0 10px 0 rgba(0,0,0,0.3);   
}

/*--- only bottom ---*/
.block-shadow-2 {
    box-shadow: 0 8px 3px -6px rgba(0,0,0,0.1);
}

/*--- sx, top, dx ---*/
.block-shadow-3 {
    box-shadow: 0 -5px 10px 0 rgba(0,0,0,0.5);
}

/*--- top, sx, bottom ---*/
.block-shadow-4 {
    box-shadow: -5px 0 10px 0 rgba(0,0,0,0.5);
}

/*--- top, dx, bottom ---*/
.block-shadow-5 {
    box-shadow: 5px 0 10px 0 rgba(0,0,0,0.5);
}

/* ----------- iPhone 4 and 4S ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2) {

    .span-text {
        display: none;
    }

    .icon {
        font-size: 38px;
    }

}

/* Portrait */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: portrait) {
}

/* Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: landscape) {

}

/* ----------- iPhone 5, 5S, 5C and 5SE ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 568px)
  and (-webkit-min-device-pixel-ratio: 2) {

  .span-text {
    display: none;
  }

  .icon {
    font-size: 36px;
  }

  .element-company {
      min-height: 80px;
  }

}

/* Portrait */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 568px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: portrait) {
}

/* Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 568px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: landscape) {

}

/* ----------- iPhone 6, 6S, 7 and 8 ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 667px) 
  and (-webkit-min-device-pixel-ratio: 2) { 

    .icon {
        font-size: 50px;
    }

    .icon-happy-certified5 {
        font-size: 40px;
    }

}

/* Portrait */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 667px) 
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: portrait) { 

}

/* Landscape */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 667px) 
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: landscape) { 

}

/* ----------- iPhone 6+, 7+ and 8+ ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 414px) 
  and (max-device-width: 736px) 
  and (-webkit-min-device-pixel-ratio: 3) { 

}

/* Portrait */
@media only screen 
  and (min-device-width: 414px) 
  and (max-device-width: 736px) 
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: portrait) { 

}

/* Landscape */
@media only screen 
  and (min-device-width: 414px) 
  and (max-device-width: 736px) 
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) { 

}

/* ----------- iPhone X ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 812px) 
  and (-webkit-min-device-pixel-ratio: 3) { 

}

/* Portrait */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 812px) 
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: portrait) { 

}

/* Landscape */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 812px) 
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) { 

}

/*--- ! ---*/

.element-dynamic.element-app-lista {
    background-color: #f4f4f4;
}

.element-link {
    cursor: pointer;
    padding:0;
}

.sez-link {
    padding: 0 0;
}
/*
.sez-where {
    padding: 8% 0;
}
*/
.sez-share,
.sez-share-qrcode {
    padding: 0 0;
    background-color:#f7f7f7;
}

.element-multiple-block.sez-share .element-title {
    background-color: transparent !important;
}

.sez-i-link {
/*
    padding: 8% 0 !important;
*/
}

/*--- calendar ---*/

.calendar-ultimo-aggiornamento {
    text-align: center;
    color:#333;
    font-size: 14px;
}

/*--- ! ---*/

/*--- panel menu ---*/
/*--- 
variabili pannello menu 
    colore sfondo pannello
    --bg-panel-menu:#fff;

    colore bordo a sinistra sub menu
    --border-left-sub-menu:#ddd;

    colore bordo in basso ai links
    --border-bottom-items:#ddd;

    colore link
    --link:#111;

    colore link hover
    --link-over:#777;

---*/
:root {
    --panel-menu-bg:#fff;
    --panel-menu-border-left-sub-menu:#ddd;
    --panel-menu-border-bottom-items:#ddd;
    --panel-menu-link-color:#111;
    --panel-menu-link-color-over:#777;
}

.panel-menu {
    position:fixed;
    top:0;
    bottom:0;
    width:100%;
    max-width: 420px;
    height:100%;
    z-index:90001;
    margin:0;
    padding:0;
    background-color:var(--panel-menu-bg);
    overflow:hidden;
    display: none;
}

.panel-menu.panel-left {
    left:-100%;
    right:auto;
}

.panel-menu.panel-right {
    right:-100%;
    left:auto;
}

.panel-menu .header {
    position: relative;
    margin: 0;
    padding: 0;
    width:100%;
    height:90px;
}

.panel-menu .header a.close {
    position: absolute;
    top: 21px;
    right: 10px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0 0 0 0;
    z-index: 888;
}

.panel-menu .header .title {
    position: relative;
    margin: 0;
    padding: 0;
    width: 240px;
    display: flex;
    align-items: center;
}

.panel-menu .header .title a img {
    width: auto;
    height: 90px;
}

.panel-menu .container {
    position: relative;
    margin:0 0 0 0;
    padding:0 0 10px 0;
    width:100%;
    height:calc(100% - 130px);
    overflow-y:auto;
    -webkit-overflow-scrolling: touch;
}

.panel-menu .panel-shadow {
    position: absolute;
    top: 90px;
    left: 0;
    bottom: auto;
    right: auto;
    width: 100%;
    height: 50px;
    z-index: 1;
    background: linear-gradient(to top,rgba(255,255,255,0.2) 0%,rgba(255,255,255,1)100%);
}

.panel-menu .content {
    position: relative;
    margin:0;
    padding:0 0 0 0;
}

.panel-menu .content .section {
    position:relative;
    margin:0;
    padding:0 0 0 0;
    display: table;
    width: 100%;
    clear: both;
    border-bottom: 1px solid var(--panel-menu-border-bottom-items);
}

.panel-menu .content .section.no-border:last-child,
.panel-menu .content .section.no-border {
    border-bottom: none;
}

.panel-menu .section .title {
    position: relative;
    margin: 0 0 0 0;
    padding: 0;
    font-size: 25px;
    font-weight: 300;
    color: var(--link);
    text-align: left;
    width: 100%;
    height: 51px;
    border-left: 10px solid transparent;
    display: flex;
    align-items: center;
}

.panel-menu .section .title.active {
    border-left: 10px solid var(--panel-menu-border-left-sub-menu);
    background-color: #f8f8f8;
}

.panel-menu .section .title a {
    display: inline;
    align-items: center;
    float: left;
    width: calc(100% - 47px);
    padding: 0 0 0 25px;
    line-height: 20px;
}

.panel-menu .section .title a.with-icon {
    display: flex;
}

.panel-menu .section li .title {
    padding: 0 0 0 0;
}

.panel-menu .section a.submenu-open {
    position: relative;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    float: right;
    width: 25px;
    height: 51px;
    display: flex;
    align-items: center;
}

.panel-menu .page-link {

}

.panel-menu .page-link.with-icon {
    font-size:20px;
}

.panel-menu .page-link.with-icon img {
    float:left;
    margin-right:15px;
    width: 25px;
    height: 25px;
}

.panel-menu .content ul {
    position: relative;
    margin:0;
    padding:0 0 0 40px;
    width:100%;
    clear: both;
    display: none;
    border-left: 10px solid var(--panel-menu-border-left-sub-menu);
}

.panel-menu .content ul li ul {
    position: relative;
    margin:0;
    padding:0 0 10px 0;
    width:100%;
    clear: both;
    display: none;
}

.panel-menu .content ul li {
    position: relative;
    list-style-type: disc;
    list-style-position: inside;
    width: 100%;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    clear: both;
    border-bottom: 1px solid var(--panel-menu-border-bottom-items);
    line-height: 50px;
}

.panel-menu .content ul li:last-child {
    border-bottom:none;
}

.panel-menu .content ul li a {
    position: relative;
    margin: 0 0 0 0;
    padding: 0 60px 0 0px;
    display: inline-block;
    width: 90%;
    font-size: 20px;
    font-weight: 300;
    color: var(--panel-menu-link-color);
    text-align: left;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

.panel-menu .content ul li a span {
    font-weight: 700;
    margin-left: 6px;
}

.panel-menu .section .title a:hover,
.panel-menu a.single:hover,
.panel-menu .content ul li a:hover {
    color: var(--panel-menu-link-color-over);
}

.panel-menu .content ul li a.evidence {
    font-weight: 400;
}

.panel-menu .content ul li a.submenu-open {
    border:none;
}

.panel-menu .content .single-image {
    position: relative;
    margin: 25px 10px 10px 10px;
    padding: 0 0 0 0;
    clear: both;
    display: flex;
    justify-content: center;
}

.panel-menu .content .single-image a {
}

.panel-menu .content .single-image a img.round {
    border-radius: 10px;
}

.panel-menu .footer {
    position: absolute;
    bottom:0;
    top: auto;
    margin: 0;
    padding: 0;
    width:100%;
    max-width: 420px;
    height:50px;
    clear: both;
    border-top: 1px solid var(--panel-menu-border-bottom-items);
    background-color: #fff;
}

.panel-menu .footer a {
    position:relative;
    margin:0;
    padding:0;
    width:100%;
    height:50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size:14px;
    font-weight: 400;
    color: var(--panel-menu-link-color);
    text-transform: uppercase;
    font-family: Gotham Medium;
}

.panel-menu .footer a:hover {
    color: var(--panel-menu-link-color);
}

.panel-menu .footer a span {
    font-family: Gotham Black;
    padding-left: 5px;
}

.panel-menu .for-shop {
    position:absolute;
    right:60px;
    top:21px;
    width:80px;
}

@media only screen and (max-width: 590px) {

    .panel-menu .header-menu .title {
        padding: 0 0 0 0;
    }

}

@media only screen and (max-width: 480px) {

    .panel-menu .section .title {
        line-height: 20px;
    }

    .panel-menu .section .title a.page-link {
        line-height: 46px;
    }

    .panel-menu .page-link {
        line-height: 46px;
    }

    .panel-menu-content ul li a {
        padding: 0 60px 0 28px;
        background-position: 18px center;
    }

    .panel-menu-content ul li ul li a {
        padding: 0 40px 0 40px;
        background-position: 30px center;
    }

    .panel-menu ul li a.page-link {

    }

    .panel-menu a.single {
        padding: 0 0 0 30px;
    }

}

@media only screen and (max-width: 320px) {

  .wrapper {
    border-width:0 10px 5px 10px;
  }

    .panel-menu .section .title {
        font-size: 20px;
    }

    .panel-menu .content ul li a {
        padding: 0 20px 0 0px;
        font-size: 18px;
    }

    .panel-menu .for-shop {
        top:15px;
    }

    .panel-menu .header a.close {
        top: 15px;
    }

}
/*--- ! ---*/

#overlaylandscape {
    position: fixed;
    top: 0px;
    left: 0px;
    background-color: rgb(255, 255, 255);
    width: 100vw;
    height: 100vh;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
}

#divlandscape {
    position: relative;
    width: 100%;
    display: none;
    align-items: center;
}

#divlandscape img {
    width: 100%;    
}

#divlandscape p {
    color:#fff;
    font-weight:700;
    line-height:20px;
    text-align:center;
    text-shadow: 0 1px rgba(0, 0, 0, .75);
    margin:0;
    padding:0;
}

/*--- home temporanea ---*/
.home {
    position: relative;
    height: 100vh;
    width: 100vw;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.home img {
    width: 100%;
    max-width: 500px;
}

/*--- 404 ---*/
.p-404 {
    position: relative;
    height: calc(100vh - 50px);
    width: 100vw;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding:0 50px;
}

/*--- display policy-privacy inline ---*/
.privacy-inline {
    position: fixed;
    top:0;
    left:0;
    bottom: auto;
    right: auto;
    width: 100%;
    margin:0 auto;
    padding: 0;
    height: 100vh;
    overflow-y: auto;
    z-index:71000;
    display:none;
    opacity: 0;
    transition: all 0.5s ease-out;
    background-color: rgba(255,255,255,0.9);
}

/***** Override Betto *****/
.element-company .element-company-logo img {
    /* border-radius rimosso: clip-path: var(--squircle) gestito dalla regola base */
    width: 80px;
    max-width: 80px;
    height: 80px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (max-device-width: 667px) and (min-device-width: 375px) {
    .icon-varie-logo-eccoci {
        font-size: 70px;
    }
}

.element-company .element-company-name .element-company-insegna {
    position: relative;
    line-height: 20px;
    display: block;
    padding: 0 40px 0 0;
}

.element-company .element-company-name .element-company-insegna h3 {
    font-size: 18px;
    font-weight: 500;
    text-align: left;
    line-height: 18px;
}

.element-company .element-company-name .element-company-tipologia {
    position: relative;
    line-height: 14px;
    display: block;
    width: calc(100% - 40px);
}

.titoletto-azienda {
    position: absolute;
    top: 0;
    left:50%;
    -webkit-transform:translate(-50%);
    transform:translate(-50%);
    width: 60%;
    height: 40px;
    text-align: center;
    line-height: 40px;
    background-color:#00bdff;
    color: #fff;
    font-size: 18px;
    border-radius: 0 0 15px 15px;
    letter-spacing: -1px;
    font-weight: 500;
}
.titoletto-azienda.sedi {
    background-color:#009e42;
}

.altre-sedi-h3 {
    text-align: center;
    margin: 0 0 0 0;
}

.btn-azienda-icona {
    position: relative;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 0 0 0;
}

.btn-azienda-icona img {
    width: 60px;
}

.btn-azienda {
    position: relative;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 0 0 0;
    text-align: center;
}

.btn-azienda-altre-sedi {
    position: relative;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 0 0 0;
    text-align: center;
}

.btn-azienda-altre-sedi h3,
.btn-azienda h3 {
    font-size: 25px;
    line-height: 30px;
}

.btn-azienda-altre-sedi p,
.btn-azienda p {
    line-height: 20px;
    font-size: 20px;
    text-align: center;
    letter-spacing: -1px;
}

.btn-azienda-altre-sedi p.tipoazienda,
.btn-azienda p.tipoazienda {
    font-style: italic;
    margin: 0 0 10px 0;
    padding: 0 10px;
}

.btn-azienda-altre-sedi p.denominazione,
.btn-azienda p.denominazione {
    font-style: italic;
    margin: 0 0 10px 0;
}

.btn-azienda-info {
    position: relative;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    background-color: #ffffff;
    clip-path: var(--squircle-btn-azienda-info);
    box-shadow: 4px 4px 4px rgba(165, 178, 186, 0.15);
    padding: 20px 10px;
}
.btn-azienda-info p {
    font-size: 24px;
}
.btn-azienda-info span {
    font-style: italic;
    font-weight: 500;
}
.btn-azienda-sedi {
    position: relative;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    background-color: #fff;
    clip-path: var(--squircle-btn-azienda-sedi);
    box-shadow: 4px 4px 4px rgba(165, 178, 186, 0.15);
    padding: 20px 15px 15px 15px;
}

.btn-azienda-sedi h4 {
    font-size: 24px;
    text-align: center;
}
.btn-azienda-sedi p {
    font-size: 20px;
    letter-spacing: -1px;
    text-align: center;
}
.btn-azienda-sedi .btn-azienda-link-sede {
    width: 100%;
    color: #fff;
    background-color: #009e42;
    clip-path: var(--squircle-btn);
    line-height: 40px;
    display: block;
    text-transform: uppercase;
    text-align: center;
    font-weight: 500;
    margin: 10px 0 0 0;
}
.btn-azienda-link-sede:hover {
    color: #fff;
    background-color: #009e42;
}

.btn-link-tel {
    position: relative;
    height: 100px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    border-radius: 10px;
    font-size: 25px;
    word-break: break-all;
    padding: 0 10px;
}
.btn-link-tel h3 {
    font-size: 25px;
    color: #fff;
}
.btn-link-tel-mail {
    color: #fff;
    background-color: #009e42;
    letter-spacing: -1px;
    font-size: calc(18px + (26 - 18) * ((100vw - 320px) / (1200 - 320)));
    clip-path: var(--squircle-btn-tel-mail);
    box-shadow: 4px 4px 4px rgba(165, 178, 186, 0.15);
}
.btn-link-tel-sms {
    color: #fff;
    background-color: #009e42;
}
.btn-link-tel-wa {
    color: #fff;
    background-color: #009e42;
}
.btn-link-tel-tel {
    color: #fff;
    background-color: #009e42;
}

.btn-link-tel-mail:hover {
    color: #fff;
    background-color: #009e42;
}
.btn-link-tel-sms:hover {
    color: #fff;
    background-color: #009e42;
}
.btn-link-tel-wa:hover {
    color: #fff;
    background-color: #009e42;
}
.btn-link-tel-tel:hover {
    color: #fff;
    background-color: #009e42;
}

.btn-link-orari {
    position: relative;
    display: inline;
    width: fit-content;
    border-radius: 10px;
    font-size: 18px;
    word-break: break-word;
    padding: 0 10px;
    border: 1px solid #888;
    background-color: #fff;
    color: #888;
}

.share-testo {
    position: relative;
    margin: 30px 0 0 0;
    padding: 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 25px;
    color: #333;
    letter-spacing: 0px;
    text-align: center;
}

.share-h3 {
    text-align: center;
    margin: 0 0 15px 0;
}

span.tipoattivita {
    color:#aaa;
    font-size: 14px;
    font-weight: 500;
}

/*
    link esterni
*/
.links-da-link {
    position: relative;
    background-color:#f4f4f4 ;
    padding: 0 0 0 0;
}

.links-da-link .titoletto-azienda {
    background-color:transparent !important;
    color:#333;
    font-weight:400;
}

.link-da-link {
    margin: 0 0 10px 0;
    padding: 0;
    clear:both;
    /* Knobs in :root: --r-link-da-link-{tl,tr,br,bl} -> shape --squircle-da-link. */
    clip-path: var(--squircle-da-link);
    box-shadow: 4px 4px 4px rgba(165, 178, 186, 0.15);
}

.links-da-link .link-da-link:last-child {
}

.link-da-link a {
    display: flex;
    width: 100%;
    min-height: 98px;
    display: flex;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 4px 4px 8px rgb(165 178 186 / 20%);
}

.link-da-link .link-da-link-inner-sx {
    margin:0;
    padding:0;
    display: flex;
    align-items: center;
    justify-content: center;
    float: left;
    width:98px;
    min-width:98px;
    border-radius: 10px 0 0 10px;
}

.link-da-link .link-da-link-inner-dx {
    margin:0;
    padding:0;
    display: flex;
    align-items: center;
    float: right;
    width: 100%;
    border-left: 1px solid #e1e1e1;
}

.link-da-link .img {

}

.link-da-link img {
    width: 50px;
    max-width: 50px;
}

.link-da-link .text {
    position: relative;
    padding: 14px 40px 14px 20px;
}

.link-da-link .text h3 {
    font-size:20px;
    font-weight: 500;
    text-align: left;
    letter-spacing: -1px;
}

.link-da-link .text p {
    margin:5px 0 0 0;
    font-size:15px;
    font-weight: 300;
    text-align: left;
    letter-spacing: -1px;
    line-height: 20px;
}

.link-da-link .img-text {
    position: absolute;
    top: 8px; 
    right: 8px;
    left:auto;
    bottom: auto;
}

.link-da-link .img-text img {
    width: 25px !important;
    max-width: 25px !important;
}
/*
    link esterni END
*/

/*
    link profili social
*/
.links-da-social {
    position: relative;
    background-color:#f4f4f4 ;
    padding: 0 0 30px 0;
}

.links-da-social .titoletto-azienda {
    position: relative;
    background-color:transparent !important;
    color:#333;
    font-weight:400;
}

.link-da-social {
    margin: 0 0 10px 0;
    padding: 0;
    clear:both;
    /* Knobs in :root: --r-link-da-social-{tl,tr,br,bl} -> shape --squircle-da-social. */
    clip-path: var(--squircle-da-social);
    box-shadow: 4px 4px 4px rgba(165, 178, 186, 0.15);
}

.link-da-social a {
    display: flex;
    width: 100%;
    background-color: #fff;
    border-radius:10px;
    box-shadow: 4px 4px 8px rgb(165 178 186 / 20%);
}

.link-da-social .link-da-social-inner-sx {
    margin:0;
    padding:0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px 0 0 10px;
    float: left;
    width:80px;
    max-width:80px;
}

.link-da-social .link-da-social-inner-dx {
    margin:0;
    padding:0;
    display: flex;
    align-items: center;
    float: right;
    width: 100%;
    min-height: 66px;
}

.link-da-social .img {
}

.link-da-social img {
    width: 50px;
    max-width: 50px;
}

.link-da-social .text {
    position: relative;
    padding: 8px 40px 8px 20px;
    width: 100%;
}

.link-da-social .text h3 {
    font-size:20px;
    font-weight: 500;
    text-align: left;
    letter-spacing: -1px;
}

.link-da-social .text p {
    margin:0 0 0 0;
    font-size:16px;
    font-weight: 300;
    text-align: left;
    letter-spacing: -1px;
    line-height: 20px;
}

.link-da-social .img-text {
    position: absolute;
    top: 8px; 
    right: 8px;
    left:auto;
    bottom: auto;
}

.link-da-social .img-text img {
    width: 25px !important;
    max-width: 25px !important;
}
/*
    link profili social END
*/

/*
    link pos
*/
.links-pos {
    position: relative;
    background-color:#fff ;
    padding: 0 0 0 0;
}


.link-pos {
    margin: 0 0 10px 0;
    padding: 0 30px;
    clear:both;
}

.links-pos .link-pos:last-child {
}

.link-pos a {
    display: flex;
    justify-content: center;
    width: 100%;
    display: flex;
    background-color: #fff;
    border-radius: 50px;
}

.link-pos .img {
    width: 100%;
    max-width: 300px;
}

.link-pos img {
}

.link-pos .text {
    position: relative;
    padding: 0;
}

.link-pos .text p {
    margin:5px 0 30px 0;
    font-size:15px;
    font-weight: 300;
    text-align: center;
    letter-spacing: -1px;
    line-height: 20px;
}

/*
    link pos END
*/

/*
    link recapiti-messaggistica END
*/
.links-reapiti-msg {
    position: relative;
    background-color:#f4f4f4 ;
    padding: 0;
}

.links-reapiti-msg .titoletto-azienda {
    background-color:transparent !important;
    color:#333;
    font-weight:400;
}

.link-reapiti-msg {
    margin: 0 0 10px 0;
    padding: 0;
    clear:both;
    /* Knob in :root: --r-reapiti -> shape --squircle-reapiti. */
    clip-path: var(--squircle-reapiti);
    box-shadow: 4px 4px 4px rgba(165, 178, 186, 0.15);
}

.links-reapiti-msg .link-reapiti-msg:last-child {

}

.link-reapiti-msg a {
    width: 100%;
    min-height: 98px;
    display: flex;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 4px 4px 8px rgb(165 178 186 / 20%);
}

.link-reapiti-msg .link-reapiti-msg-inner-sx {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    float: left;
    width: 98px;
    min-width: 98px;
    border-radius: 10px 0 0 10px;
}

.link-reapiti-msg .link-reapiti-msg-inner-dx {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    float: right;
    width: 100%;
    border-left: 1px solid #e1e1e1;
}

.link-reapiti-msg .img-text {
    position: absolute;
    top: 8px;
    right: 8px;
    left: auto;
    bottom: auto;
}

.link-reapiti-msg .img-text img {
    width: 25px !important;
    max-width: 25px !important;
}

.link-reapiti-msg .img img {
    width: 50px;
    max-width: 50px;
}

.link-reapiti-msg img {
}

.link-reapiti-msg .text {
    position: relative;
    padding: 0 20px 0;
    width: 100%;
}

.link-reapiti-msg .text h3 {
    font-size:18px;
    line-height: 20px;
    font-weight: 500;
    text-align: left;
    letter-spacing: -1px;
}

.link-reapiti-msg .text p:not(.mail-reduce) {
    margin:0 0 0 0;
    font-size:24px;
    line-height: 24px;
    font-weight: 300;
    text-align: left;
    letter-spacing: -1px;
/*
    word-break: break-all;
*/
}

.link-reapiti-msg .text p.descrizione {
    margin:0 0 5px 0;
    font-size:15px;
    line-height: 15px;
    font-weight: 300;
    text-align: left;
    letter-spacing: -1px;
}

.link-reapiti-msg .text .img-text {
    position: absolute;
    top: 10px; 
    right: 10px;
    left:auto;
    bottom: auto;
}

.link-reapiti-msg .text .img-text img {
    width: 30px !important;
    max-width: 30px !important;
}
/*
    link recapiti-messaggistica END
*/

.div-padding-20-20-60-20 {
    padding:20px 20px 60px 20px;
}

.element-link img {
    width: 40px;
}

.sez-i-link img {
    width:40px;
}

.sez-dicono img {
    width:40px;
}

.sez-dipendenti img {
    width:30px;
}

.sez-offerta img {
    width:50px;
}

.sez-share img,
.sez-share-qrcode img,
.sez-eccoci img {
    width:30px;
}

.sez-eccoci,
.sez-share-qrcode,
.sez-share {
    max-height: 60px;
}

.sez-datiaziendali img {
    width:30px;
}

.condividi-datiaziendali {
    padding:0 10px 10px 10px;
    height: 55px;
    justify-content: center;
    opacity:0;
}

.bottone-qrcode {
    max-width: 60px;
}

.bottone-condividi,
.bottone-qrcode,
.element-multiple-block.sez-share,
.element-multiple-block.sez-share-qrcode,
.element-multiple-block.sez-datiaziendali {
    /* niente ombra sui pulsanti azione (condividi / qr / dati aziendali):
       l'!important garantisce che vinca contro la box-shadow di
       .element-multiple-block anche se cambia l'ordine delle regole.
       Il JS svg-shadow legge "none" dal computed e non crea il sibling SVG. */
    box-shadow: none !important;
}

.bottone-condividi {
    display: none;
}
/*
@media (pointer: coarse) {
    .bottone-condividi {
        display:flex;
    }
}
*/
@media only screen and (max-width: 420px) {

    .element {
        padding:0 0 0 0 !important;
    }
    .wrapper {
        padding:0 0 0px 0 !important;
    }

}

@media only screen and (max-width: 320px) {

    .element {
/*
        padding:6px 0 0 0 !important;
*/
    }

    .element-link img {
        width: 30px;
    }

    .sez-i-link img {
        width:30px;
    }

    .sez-offerta img {
        width:40px !important;
    }

    .sez-dicono img {
        width:30px;
    }

    .element-company-inner {
        height: 100%;
        min-height: 100px;
    }

    .element-company .element-company-logo {
        max-width: 60px;
        margin-left: 10px !important;
    }

    .element-company .element-company-logo img {
        /* border-radius rimosso: clip-path: var(--squircle) gestito dalla regola base */
        width: 60px;
        max-width: 60px;
        height: 60px;
    }

    .element-company .element-company-info {
        width: 25px;
        position: absolute;
        left: auto;
        top: 10px;
        right: 10px;
        bottom: auto;
    }

    .link-da-link .text h3 {
        font-size: 16px;
        line-height: 18px;
        font-weight: 500;
        text-align: left;
        letter-spacing: -1px;
    }

    .link-da-link .text p {
        margin: 5px 0 0 0;
        font-size: 13px;
        font-weight: 300;
        text-align: left;
        letter-spacing: -1px;
        line-height: 16px;
    }

    .link-da-link .text {
        position: relative;
        padding: 14px 40px 14px 14px;
    }

    .header .logo {
        max-width: 150px;
    }

    .element-multiple-block.element-btn {
        padding:5px 5px;
    }

    .icon {
        font-size: 40px;
    }

    .sez-share img,
    .sez-share-qrcode img,
    .sez-eccoci img {
        width:20px;
    }
  
    .sez-datiaziendali img {
        width: 20px;
    }

    .element-multiple-block.element-btn img {
        margin-right: 0px;
    }

    .link-da-social .text h3 {
        font-size: 16px;
        line-height: 18px;
    }

    .link-da-social .text p {
        font-size: 12px;
        line-height: 14px;
    }

    .element-multiple-block.element-offerta h3 {
        font-size:16px;
        font-weight:500;
        line-height: 18px;
    }

    .element-multiple-block.element-offerta p {
        margin:0;
        font-size:15px;
        font-weight:300;
        line-height: 17px;
    }

    .wrapper {
        padding:0 0 10px 0 !important;
    }

    .element.element-offerta {
        padding:10px 0 10px 0 !important;
    }

}

.qrcode {
    display: flex;
    justify-content: center;
    margin: 20px 0 0 0;
}

@media only screen and (max-width: 320px) {
    .titolo-convidi,
    .titolo-dati-aziendali {
        display: none;
    }
    .sez-share img,
    .sez-share-qrcode img,
    .sez-eccoci img {
        width:30px;
    }
  
    .sez-datiaziendali img {
        width: 30px;
    }
    .link-pos {
        padding: 0 15px;
    }
}

/*
    form
*/

.form-group .form-control-label {
    font-weight: 500;
    font-size: 14px;
    width: auto;
    margin: 0 0 0 0;
}

.form-group .form-control-label.empty {
    display: block;
}

.form-group .form-control-label span {
    position: relative;
    top: -3px;
    color: #888;
    font-weight: 300;
    font-size: 14px;
    font-style: italic;
    margin: 0 0 0 8px;
    letter-spacing: -0.4px
}

.form-control {
    display: block;
    width: calc(100% - 10px);
    height: 40px;
    padding: 0 35px 0 10px;
    margin: 0 0 0 0;
    font-size: 14px;
    font-weight: 300;
    line-height: inherit;
    color: #333;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ddd;
    border-radius: 5px;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

form .btn {
    position: relative;
    width: 160px;
    height: 30px;
    background-color: #4285f4;
    border: 1px solid #4285f4;
    color: #fff;
    line-height: 28px;
    padding: 0 12px;
    border-radius: 2px;
    outline: none;
    text-decoration: none;
    display: flex;
    justify-content: center;
    font-size: 16px;
    margin: 10px 0 0 0;
    border-radius: 5px;
}

/*
    colonne
*/

.row {
    display: flex;
    flex-wrap: wrap;
}

form .row {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col,
.col-auto,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg,
.col-lg-auto {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}

.col-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
}

.col-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
}

.col-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

.col-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
}

.col-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.col-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
}

.col-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
}

.col-9 {
    flex: 0 0 75%;
    max-width: 75%;
}

.col-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
}

.col-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

@media only screen and (max-width: 900px) {

    .col-auto,
    .col-1,
    .col-2,
    .col-3,
    .col-4,
    .col-5,
    .col-6,
    .col-7,
    .col-8,
    .col-9,
    .col-10,
    .col-11,
    .col-12 {
        flex: 0 0 89.5%;
        max-width: 100%;
    }

    .genera-otp .col-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

}

@media (min-width: 992px) {
    .col-lg {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }
    .col-lg-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }
    .col-lg-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }
    .col-lg-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }
    .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .col-lg-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }
    .col-lg-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }
    .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .col-lg-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }
    .col-lg-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }
    .col-lg-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }
    .col-lg-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }
    .col-lg-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }
    .col-lg-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.titolo-form {
    text-align: center;
    font-weight: 500;
    color: #333;
}

/*--- gestione notifiche ( errori e/o segnalazioni ) ---*/
.alert {
    position: fixed;
    left: 50%;
    width: 100%;
    max-width: 500px;
    height: 100%;
    max-height: 180px;
    margin: -90px 0 0 -250px;
    padding: 50px 50px 50px 50px;
    background-color: rgba(255,255,255,1);
    z-index: 95999;
    box-shadow: 0 0 10px 0 rgba(0,0,0,0.5);
}

@media only screen and (max-width: 480px)
{
    .alert {
        left: 0;
        margin: -90px 0 0 auto;
    }
}

.alert a.close {
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    bottom: auto;
    width: 25px;
    height: 25px;
    display: block;
    margin: 10px 10px 0 0;
    padding: 0;
    z-index: 75000;
}

.alert p {
    position: relative;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    color: #333;
    font-size: 18px;
    line-height: 25px;
    font-family: 'Lato', sans-serif;
    z-index: 71000;
}









































    #messaggionolocation {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: auto;
        max-width: 900px;
        margin: 0;
        padding: 0;
        text-align: center
    }

    .messaggionolocation {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: auto;
        max-width: 900px;
        border-radius: 20px;
        padding: 0 30px;
        font-size:16px;
        line-height: 20px;
    }

    #messaggionolocation img {
        max-width: 150px;
    }

    .linkListaAlfa, 
    .linkListaPosiz,
    .linkListaAlfa:hover, 
    .linkListaPosiz:hover {
        position: relative;
        background-color: #4285f4;
        border: 1px solid #4285f4;
        color: #fff;
        line-height: 28px;
        outline: none;
        text-decoration: none;
        display: flex;
        justify-content: center;
        font-size: 16px;
        width: auto;
        border-radius: 50px;
        cursor: pointer;
        margin: 25px 0 0 0;
        padding: 10px 50px;
        height: auto;
    }

    @media only screen 
        and (min-device-width: 768px) 
        and (max-device-width: 1024px) 
        and (-webkit-min-device-pixel-ratio: 1) {

            #messaggionolocation {
/*
                height:calc(100vh - 200px);
*/
            }

        }

    @media only screen and (max-width: 480px) {

        #messaggionolocation {
/*
            height:calc(100vh - 160px);
*/
        }

    }

    .mobiledevice,
    .mobiledevice a {
        color: #234998;
        font-weight: 700;
    }

    .browser {
        color: #234998;
        font-weight: 700;
    }

    .cambiaordine-btn,
    .cambiaordine-btn:hover {
        position: relative;
        background-color: #4285f4;
        border: 1px solid #4285f4;
        color: #fff;
        line-height: 28px;
        outline: none;
        text-decoration: none;
        display: flex;
        justify-content: center;
        font-size: 16px;
        width: auto;
        border-radius: 50px;
        cursor: pointer;
        margin: 25px 0 0 0;
        padding: 10px 50px;
        height: auto;
    }




















































/*
    link dipendenti
*/
.links-dipendenti {
    position: relative;
    background-color:#f4f4f4 ;
    padding: 0;
}

.links-dipendenti .titoletto-azienda {
    background-color:transparent !important;
    color:#333;
    font-weight:400;
}

.links-dipendenti h2 {
    text-align: center;
    margin:0 0 25px 0;
}

.link-dipendenti {
    margin: 0 0 10px 0;
    padding: 0;
    clear:both;
    /* Knobs in :root: --r-link-dipendenti-{tl,tr,br,bl} -> shape --squircle-dipendenti. */
    clip-path: var(--squircle-dipendenti);
    box-shadow: 4px 4px 4px rgba(165, 178, 186, 0.15);
}

.links-dipendenti .link-dipendenti:last-child {

}

.link-dipendenti a {
    width: 100%;
    min-height: 98px;
    display: flex;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 4px 4px 8px rgb(165 178 186 / 20%);
}

.link-dipendenti .link-dipendenti-inner-sx {
    margin: 0;
    padding: 15px 0 0 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    float: left;
    width: 98px;
    min-width: 98px;
    border-radius: 10px 0 0 10px;
}

.link-dipendenti .link-dipendenti-inner-dx {
    margin: 0;
    padding: 15px 0;
    display: flex;
    align-items: center;
    float: right;
    width: 100%;
}

.link-dipendenti .link-dipendenti-inner-dx .text span {
    font-style: italic;
    color: #888;
    font-size: 14px;
    position: relative;
    top: -5px;
}

.link-dipendenti .link-dipendenti-inner-dx .text p {
    padding:0 30px 0 0;
    font-size: 15px;
    font-weight: 300;
    text-align: left;
    letter-spacing: -1px;
    line-height: 20px;
}

.link-dipendenti .img-text {
    position: absolute;
    top: 8px;
    right: 8px;
    left: auto;
    bottom: auto;
}

.link-dipendenti .img-text img {
    width: 25px !important;
    max-width: 25px !important;
}

.link-dipendenti .img img {
    width: 70px;
    max-width: 70px;
    height: 70px;
    clip-path: var(--squircle-dip-icon);
}

.azienda-dipendente-top {
    position: relative;
    margin:100px 0 0 0;
    padding:0;
    z-index: 2;
    display: flex;
    width:100%;
}

#scheda-personale .azienda-dipendente-top {
    padding: 0 10px 0 10px;
}

#scheda-personale .azienda-dipendente-top .azienda-dipendente-call-qrcode {
    margin: 0 10px 0 0;
}

.azienda-dipendente-top .azienda-dipendente-foto {
    position: relative;
    top:-80px;
    bottom:auto;
    left:auto;
    right:auto;
}

.azienda-dipendente-top .azienda-dipendente-foto .img {
    width: 130px;
    max-width: 130px;
    height: 130px;
    border-radius: 50%;
    border: 5px solid #fff;
}

.azienda-dipendente-top .azienda-dipendente-foto img {
    width: 120px;
    max-width: 120px;
    height: 120px;
    border-radius:50%;
}

.azienda-dipendente-top .azienda-dipendente-call-qrcode {
    height:40px;
    width:calc(100% - 120px);
    float: right;
    display: flex;
    justify-content: flex-end;
    margin: 10px 10px 0 0;
}

.azienda-dipendente-top .azienda-dipendente-call-qrcode .sez-call-popup {
    background-color: #22a7e0;
    padding: 0 15px 0 10px;
    border-radius: 25px;
    line-height: 40px;
    text-align: center;
    color: #fff;
    margin: 0 10px 0 0;
    font-size: 14px;
    font-weight: 400;
}

.azienda-dipendente-top .azienda-dipendente-call-qrcode .sez-call-popup .img {
    width: 40px;
    max-width: 40px;
    margin:0 0 0 0;
    float:left;
}

.azienda-dipendente-top .azienda-dipendente-call-qrcode .sez-call-popup .img img {
    width: 40px;
    max-width: 40px;
    height: 40px;
    max-height: 40px;
}

.azienda-dipendente-top .azienda-dipendente-call-qrcode .sez-share-qrcode-popup {
    background-color: #22a7e0;
    width: 40px;
    max-width: 40px;
    height: 40px;
    max-height: 40px;
    border-radius: 50%;
    clip-path: none;
}

.azienda-dipendente-top .azienda-dipendente-call-qrcode .sez-share-popup {
    background-color: #00bb2e;
    width: 40px;
    max-width: 40px;
    border-radius: 50%;
    margin: 0 10px 0 0;
}

.azienda-dipendente-il-resto {
    position: relative;
    top: -50px;
    padding:0;
}

#scheda-personale .azienda-dipendente-il-resto {
    position: relative;
    top: -50px;
    padding:0 10px 0 10px;
}

.azienda-dipendente-dati {
    margin: 0 0 30px 0;
    position: relative;
    padding: 0 15px;
}

.azienda-dipendente-dati h3 {
    
}

.azienda-dipendente-dati span {
    color:#888;
    font-style: italic;
    letter-spacing: -1px;
}

.azienda-dipendente-dati p {
    padding:0 0 0 0;
    margin:10px 0 0 0;
    font-size: 15px;
    font-weight: 300;
    text-align: left;
    letter-spacing: -1px;
    line-height: 20px;
}

.azienda-dipendente-dati p.descrizione-lista {
    border-left: 5px solid #22a8e1;
    padding: 0 0 0 10px;
    font-weight: 500;
}

.azienda-dipendente-azienda {
    position: relative;
    margin:40px 0 20px 0;
}

.azienda-dipendente-azienda h3 {
    text-align: center;
}

#sez-datiaziendali-popup img {
/*
    width: 30px;
*/
    margin: 5px 0;
}

#sez-datiaziendali-popup .element-title {
    padding: 5px;
}




.medium-zoom-overlay {
    z-index: 100000;
}

.medium-zoom-image {
    z-index: 100001;
    border-radius: 50%;
}

































@media screen and (min-width: 320px) and (max-width: 767px) and (orientation: landscape) {
    html {
        transform: rotate(-90deg);
        transform-origin: left top;
        width: 100vh;
        overflow-x: hidden;
        position: absolute;
        top: 100%;
        left: 0;
    }
}











.sfondo-popup.bgcolor {
    background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);position:relative;
}






@media only screen and (min-width: 769px) and (max-width: 1250px) {
    .mail-reduce {
        font-size: calc(14px + (20 - 14) * ((100vw - 320px) / (1250 - 320)));
    }
}

@media only screen and (min-width: 1251px) {
    .mail-reduce {
        font-size: 24px;
    }
}

@media only screen and (min-width: 481px) and (max-width: 768px) {
    .mail-reduce {
        font-size: calc(14px + (30 - 14) * ((100vw - 320px) / (1250 - 320)));
    }
}

@media only screen and (max-width: 480px) {
    .mail-reduce {
        font-size: calc(14px + (20 - 14) * ((100vw - 320px) / (1250 - 320)));
    }
}

.strumento-mail,
.strumento-mail.mail-reduce {
/*
    font-size: max(24px);
*/
}














































.element-circuiti {
    padding-bottom:0 !important;
    clear: both;
    min-height: 110px;
    display: block;
    margin: 0;
    position: relative;
    overflow: hidden;
}

.element-circuiti-near {
/*
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding: 10px;
    box-shadow: 4px 4px 8px rgba(165,178,186,0.2);
    border-radius: 5px;
    background: #fff;
    margin:0 0 10px 0;
    min-height: 110px;
    overflow: hidden;
*/
/*
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding: 10px;
    box-shadow: 4px 4px 8px rgba(165,178,186,0.2);
    border-radius: 5px;
    background: #fff;
    margin:0 0 10px 0;
    min-height: 110px;
    overflow: hidden;
*/



    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 20px 20px 20px 20px;
    box-shadow: 4px 4px 8px rgba(165, 178, 186, 0.2);
    border-radius: 5px;
    background: #fff;
    margin: 0 0 10px 0;
    min-height: 110px;
    overflow: hidden;

}

.element-circuiti-near a {
    position: relative;
    width: 100%;
    color:#333;
    display: flex;
/*
    height: 70px;
*/
}

.element-circuiti-near a:hover {
    color:#333;
}

.element-circuiti-near-left {
    display: flex;
    width: 100%;
    max-width: 80px;
    float: left;
    margin-right: 20px;
    align-items: flex-start;
}

.element-circuiti-near-left .img {
    width: 80px;
    max-width: 80px;
    height: 80px;
    display: flex;
}

.element-circuiti-near-left .img img {
    border-radius: 80px;
}

.element-circuiti-near-right  {
    width: 100%;
    margin-right:30px;
    display:flex;
    align-items: center;
}

.element-circuiti-near-right h3 {
    font-size: 18px;
    font-weight: 500;
    text-align: left;
    line-height: 18px;
}

.element-circuiti-near-right .span {
    font-size: 12px;
    line-height: 22px;
    color: #343434;
    background-color: #e7e7e7;
    padding: 0 6px;
    border-radius: 2px;
    font-weight: 400;
    width: fit-content;
    margin: 0 0 8px 0;
}

.element-circuiti-near-right p {
    font-size: 14px;
    line-height: 16px;
    font-weight: 300;
    margin:10px 0 0 0;
}

/*
    preloader tra pannelli
*/

.preloader-between-panels {
    z-index:71000;
    display:flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width:94vw;
    max-width: 900px;
    height:calc(100vh - 80px);
    margin:20px auto 0;
    padding: 25px;
    text-align: center;
}

.preloader-between-panels img {
    max-width: 100px;
}

/* ===================================================================
   PROFILE PRELOADER (skeleton shimmer)
   Visibile da subito al primo paint. L'IIFE in app.js aggiunge .loaded
   al window.load (= dopo che TUTTE le risorse sono scaricate, no timeout
   fisso) -> fade-out e remove dal DOM.
   Replica la struttura del profilo con le STESSE shape clip-path
   (squircle-*) -> visualmente l'utente vede la forma dei blocchi anche
   prima che il contenuto sia pronto.
   =================================================================== */

@keyframes plShimmer {
    0%   { background-position: -468px 0; }
    100% { background-position:  468px 0; }
}

.pl-shimmer {
    background: #ddd;
    background: linear-gradient(to right, #ddd 8%, #f0f0f0 18%, #ddd 33%);
    background-size: 800px 104px;
    animation: plShimmer 1.25s linear infinite;
}

.profile-preloader {
    /* Overlay fixed FULL-SCREEN: copre tutto il viewport (mai si vede la
       pagina ai lati). Il contenuto interno (placeholder) e' limitato a
       500px e centrato via `align-items: center` + `max-width` sui figli. */
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100vh;
    /* Fallback iOS Safari per 100vh che include la barra URL */
    height: 100svh;
    z-index: 70000;
    background: #f8f8f8;
    padding: 50px 12px 12px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    overflow: hidden;
    box-sizing: border-box;
    opacity: 1;
    pointer-events: none;
}

/* Tutti i figli diretti del preloader: width 100% ma max 500px = stessa
   larghezza del profilo vero centrato sulla pagina. Il container resta
   full-screen come sfondo, il contenuto resta in formato profilo.
   Niente flex-shrink override -> le regole specifiche sui singoli child
   (`.pl-grid { flex: 2 1 0px }` ecc.) restano autoritative sull'altezza. */
.profile-preloader > * {
    width: 100%;
    max-width: 500px;
}

.profile-preloader.loaded {
    opacity: 0;
}

/* ---- header company (logo + info + 3 pulsanti in basso) ---- */
/* INVERSIONE colori SOLO qui: il container header ha lo SHIMMER grigio
   animato come bg, e i suoi placeholder figli (logo + lines + btn-row)
   sono BIANCHI pieni statici invece di shimmer. */
.profile-preloader .pl-element-company {
    display: flex;
    flex-direction: column;
    padding: 12px;
    gap: 10px;
    background: #ddd;
    background: linear-gradient(to right, #ddd 8%, #f0f0f0 18%, #ddd 33%);
    background-size: 800px 104px;
    animation: plShimmer 1.25s linear infinite;
    clip-path: var(--squircle-company);
    flex: 0 0 auto;
}

.profile-preloader .pl-element-company .pl-shimmer {
    background: #fff;
    animation: none;
}

.profile-preloader .pl-company-top {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.profile-preloader .pl-logo {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    margin-right: 15px;
    clip-path: var(--squircle-logo-shape);
}

.profile-preloader .pl-company-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.profile-preloader .pl-line {
    height: 14px;
    border-radius: 3px;
}
.profile-preloader .pl-line-name { width: 60%; height: 18px; }
.profile-preloader .pl-line-sub  { width: 45%; }
.profile-preloader .pl-line-addr { width: 70%; }

/* ---- riga 3 pulsanti dentro header: medio + piccolo + medio ---- */
.profile-preloader .pl-btn-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 8px;
    height: 32px;
}

.profile-preloader .pl-btn-med {
    flex: 1;
    border-radius: 8px;
}

.profile-preloader .pl-btn-sm {
    flex: 0 0 32px;
    border-radius: 8px;
}

/* ---- griglia 2x2 blocchi (sfalsati 63/37 e 43/57, stessa altezza del footer) ---- */
.profile-preloader .pl-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 2 1 0px;
    min-height: 0;
}

.profile-preloader .pl-grid-row {
    display: flex;
    gap: 10px;
    flex: 1;
    min-height: 0;
}

.profile-preloader .pl-grid-row-top    .pl-block:first-child { flex: 63; }
.profile-preloader .pl-grid-row-top    .pl-block:last-child  { flex: 37; }
.profile-preloader .pl-grid-row-bottom .pl-block:first-child { flex: 43; }
.profile-preloader .pl-grid-row-bottom .pl-block:last-child  { flex: 57; }

.profile-preloader .pl-block {
    clip-path: var(--squircle-block);
}

/* ---- staff orizzontale (meta' altezza di una riga griglia) ---- */
.profile-preloader .pl-staff {
    flex: 0.5 0 0px;
    min-height: 30px;
    clip-path: var(--squircle-block);
}

/* ---- footer: 3 pulsanti (stessa altezza delle righe griglia) ---- */
.profile-preloader .pl-footer-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
    flex: 1 1 0px;
}

.profile-preloader .pl-footer-btn {
    clip-path: var(--squircle-footer);
}

/* POS digitale */
	.pos-txt {
		border: 2px solid #3ebced;
		display: flex;
		align-items: center;
		max-width: 300px;
		min-height: 62px;
		margin:0 auto;
		justify-content: start !important;
		border-radius: 31px !important;
	}
	
	.pos-txt .img {
		width: 50px;
		min-width: 50px;
		margin: 0 10px 0 18px;
	}
	
	.pos-txt img {
		width: 50px;
		height: 50px;
	}
	
	.pos-txt .testo {
		font-size: 14px;
		line-height: 18px;
		padding: 10px 20px 10px 0;
	}
	
	.pos-txt .testo span {
		font-weight: 400;
		font-size: 16px;
		line-height: 20px;
	}

    span.only-pro {
        color: #fff;
        font-weight: 600;
        border: 2px solid #ffb600;
        padding: 1px 2px 0px 3px;
        width: fit-content;
        border-radius: 5px;
        font-size: 12px;
        background: #ffb600;
    }
    .element-company-pro {
        position: absolute;
        left: auto;
        bottom: 10px;
        right: 13px;
        top: auto;        
    }
    .here-wrapper-container {
        height: 92vh;
        display: flex;
        flex-direction: column;
        position: relative;
        color:#174998;
        padding: 0 10px;
        overflow: hidden;
        box-sizing: border-box;
    }
    .here-titolo {
        display: flex;
        justify-content: center;
    }
    .here-titolo p {
        font-weight: 900;
        font-size: 30px;
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        color: #174998;
        line-height: 35px;
        letter-spacing: -1px;
        position:relative;
    }
    .here-titolo p:last-child {
        margin: 20px 0 0 0;
    }
    .here-titolo img {
        position: relative;
        width: 70%;
    }
    .here-testo,
    .here-testo p {
        font-size: 16px;
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        line-height: 20px;
        letter-spacing: -1px;
        font-weight: 400;
        color: #174998;
        font-family: Inter;
    }
    .here-testo p:first-child {
        margin: 10px 0 0 0;
    }
    /*
    blocco sei qui
    */
    .here-blocco-sei-qui {
        flex: 0.8;
        background: #f9f9f9;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding:10px 20px;
        text-align: center;
    }
    .eccoci-srch-panel {
        width: 100%;
    }
    .here-attivi {
        position: relative;
        margin:10px 0 0 0;
    }
    .here-header-footer,
    .here-header-footer p {
        text-align: center;
        font-size: 12px;
        line-height: 15px;
        padding: 10px 0 0 0;
        color: #174998;
        font-family: Inter;
        font-weight: 400;
        letter-spacing: -0.5px;
    }
    .here-content-footer {
        text-align: center;
        font-size: 13px;
        line-height: 15px;
        padding: 8px 0 0 0;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 6px;
        color: #174998;
        font-weight: 500;
        font-family: Inter;
        cursor: pointer;
        background: none;
        border: none;
        margin: 0 auto;
        max-width: max-content;
        user-select: none;
        -webkit-tap-highlight-color: transparent;
        transition: transform 180ms ease;
    }
    .here-content-footer p {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        display: inline;
        color: inherit;
        font: inherit;
    }
    .here-content-footer strong,
    .here-content-footer b {
        font-weight: 800;
        color: #174998;
    }
    .here-content-footer:active {
        transform: scale(0.97);
    }
    .here-attivi {
        text-align: center;
        margin: 0 0 4px 0;
        padding: 0 0 15px 0;
    }
    .here-profiliAttivi {
        font-size: 12px;
        font-style: italic;
        font-weight: 400;
        color: #174998;
        line-height: 0.4;
    }
    .here-profiliAttivi span {
        display: block;
        font-size: 44px;
        font-weight: 800;
        font-style: normal;
        line-height: 1;
        letter-spacing: -0.5px;
        font-variant-numeric: tabular-nums;
    }
    .here-blocco-inferiore {
        flex: 1.2;
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 12px;
        overflow: visible;
        position: relative;
        z-index: 1;
    }

    /* BLOCCO CERCA — 75% del blocco inferiore */
    .here-blocco-cerca {
        flex: 3;
        /* "Bordo": sfondo colorato esterno + pseudo-element ::before bianco
           inset 1px con la STESSA clip-path → la curva interna è esattamente
           parallela alla curva esterna (parametricamente identica), niente
           SVG approssimato. */
        background-color: #1775ac;
        clip-path: var(--squircle-here-cerca);
        -webkit-clip-path: var(--squircle-here-cerca);
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
        padding: 20px;
        text-align: center;
        box-shadow: none;
    }
    .here-blocco-cerca::before {
        content: "";
        position: absolute;
        inset: 1px;
        background: #1775ac;
        clip-path: var(--squircle-here-cerca);
        -webkit-clip-path: var(--squircle-here-cerca);
        z-index: 0;
        pointer-events: none;
    }
    .here-blocco-cerca > * {
        position: relative;
        z-index: 1;
    }
    .here-blocco-cerca a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        height: 100%;
    }
    .here-blocco-cerca .here-icons {
        display: flex;
        gap: 16px;
        align-items: center;
    }
    .here-blocco-cerca .here-icons img {
        width:40px;
    }
    .here-blocco-cerca p {
        font-size: 14px;
        color: #ffffff;
        line-height: 1.5;
        font-family: Inter;
        letter-spacing: -0.5px;
        font-weight: 400;
        line-height: 20px;
    }

    /* BLOCCO TROVA — 25% del blocco inferiore */
    .here-blocco-trova {
        flex: 1;
        background-color: #c8cdd4;
        clip-path: var(--squircle-here-trova);
        -webkit-clip-path: var(--squircle-here-trova);
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 16px;
        padding: 20px;
        box-shadow: none;
    }
    .here-blocco-trova::before {
        content: "";
        position: absolute;
        inset: 1px;
        background: #ffffff;
        clip-path: var(--squircle-here-trova);
        -webkit-clip-path: var(--squircle-here-trova);
        z-index: 0;
        pointer-events: none;
    }
    .here-blocco-trova > * {
        position: relative;
        z-index: 1;
    }
    .here-blocco-trova img {
        width:50px;
    }
    .here-blocco-trova a {
        display: flex;
        flex-direction: row;
        gap: 10px;
        align-items: center;
    }
    .here-blocco-trova p {
        font-size: 14px;
        color: #174998;
        font-family: Inter;
        letter-spacing: -0.5px;
        font-weight: 400;
        line-height: 20px;
    }

@media only screen and (min-width: 376px) {

    .here-blocco-cerca {
        padding: 20px 30px;
    }

    .here-blocco-cerca p {
        margin-top: 20px;
    }

    .here-blocco-trova {
        padding: 20px 30px;
    }

}

.netwdescinterna {
    font-size: 12px;
}

/* Fancy-frame: definito come variabile CSS `--squircle` in :root all'inizio
   del file. Applicato via `clip-path: var(--squircle)` sui selettori target
   (logo img, footer, multiple-block). Per ogni famiglia il raggio si
   controlla con `--squircle-r` locale. Niente JavaScript: tutto CSS puro.
   NOTA: richiede `clip-path: shape()` (Chrome 124+, Safari 18.4+). I browser
   senza supporto vedono rettangoli netti perche' i border-radius dei target
   sono stati rimossi. */