/* Premioo, l'app dentro l'iPhone: si tocca e risponde (premioo-app.js).
   Tutte le misure sono in --u, che segue la larghezza del telefono. Dati di fantasia. */
.pm-app { padding: 0 !important; gap: 0 !important; background: #f6f7fb !important; color: #0b1530; font-family: var(--font-body, sans-serif); }
.pm-app button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.pm-app svg { display: block; }
.pa-scr { position: absolute; inset: 0; display: flex; flex-direction: column; background: #f6f7fb; padding-top: calc(13 * var(--u));
  transition: transform .42s cubic-bezier(.2, .8, .2, 1), opacity .3s; }
.pa-scr.via-dx { transform: translateX(100%); }
.pa-scr.via-sx { transform: translateX(-28%); opacity: .5; pointer-events: none; }
.pa-corpo { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; padding: 0 calc(5 * var(--u)) calc(24 * var(--u)); }
.pa-corpo::-webkit-scrollbar { display: none; }
/* testata */
.pa-top { display: flex; align-items: center; gap: calc(2.4 * var(--u)); padding: calc(2 * var(--u)) calc(5 * var(--u)) calc(1 * var(--u)); }
.pa-logo { display: inline-flex; align-items: baseline; gap: calc(.9 * var(--u)); font-family: "Plus Jakarta Sans", var(--font-display, sans-serif); font-weight: 700; font-size: calc(7.6 * var(--u)); letter-spacing: -.045em; color: #0B1033; line-height: 1; }
.pa-logo svg { height: calc(5.4 * var(--u)); width: auto; color: #0A5BF5; }
.pa-mappa { margin-left: auto; display: inline-flex; align-items: center; gap: calc(1.4 * var(--u)); border: calc(.35 * var(--u)) solid #2f6bff !important; color: #2f6bff !important;
  border-radius: calc(3 * var(--u)) !important; padding: calc(1.6 * var(--u)) calc(3 * var(--u)) !important; font-weight: 600; font-size: calc(3.8 * var(--u)); }
.pa-mappa svg, .pa-camp svg { width: calc(4.6 * var(--u)); height: calc(4.6 * var(--u)); }
.pa-camp { position: relative; width: calc(8 * var(--u)); height: calc(8 * var(--u)); display: grid !important; place-items: center; }
.pa-camp i { position: absolute; top: calc(1 * var(--u)); right: calc(1 * var(--u)); width: calc(2.2 * var(--u)); height: calc(2.2 * var(--u)); border-radius: 50%; background: #ff3b30; box-shadow: 0 0 0 calc(.5 * var(--u)) #f6f7fb; }
.pa-luogo { display: flex; align-items: center; gap: calc(1.2 * var(--u)); padding: 0 calc(5 * var(--u)) calc(3 * var(--u)); color: #3a4560; font-size: calc(4 * var(--u)); }
.pa-luogo svg { width: calc(4 * var(--u)); height: calc(4 * var(--u)); color: #2f6bff; }
/* carta del circuito */
.pa-carta { position: relative; overflow: hidden; border-radius: calc(5 * var(--u)); padding: calc(5 * var(--u)); color: #fff; background: linear-gradient(140deg, #3b7bff, #2563f0 60%, #1c4fd8);
  box-shadow: 0 calc(3 * var(--u)) calc(8 * var(--u)) calc(-3 * var(--u)) rgba(37, 99, 240, .55); margin-bottom: calc(4 * var(--u)); }
.pa-carta small { font-size: calc(2.9 * var(--u)); letter-spacing: .16em; text-transform: uppercase; opacity: .85; font-weight: 600; }
.pa-carta b { display: block; font-family: var(--font-display, sans-serif); font-size: calc(7.2 * var(--u)); letter-spacing: -.03em; line-height: 1.08; margin: calc(1.6 * var(--u)) 0 calc(1.4 * var(--u)); max-width: 72%; }
.pa-carta p { font-size: calc(3.7 * var(--u)); line-height: 1.35; opacity: .9; margin: 0 0 calc(3.6 * var(--u)); max-width: 72%; }
.pa-carta .pa-btn-b { background: #fff !important; color: #1c4fd8 !important; border-radius: 99px !important; padding: calc(2.6 * var(--u)) calc(4.6 * var(--u)) !important; font-weight: 700; font-size: calc(4 * var(--u)); display: inline-flex; gap: calc(1.4 * var(--u)); align-items: center; }
.pa-carta svg.pa-oo { position: absolute; right: calc(-14 * var(--u)); top: calc(6 * var(--u)); width: calc(52 * var(--u)); color: rgba(255, 255, 255, .16); }
/* ricerca, categorie, filtri */
.pa-cerca { display: flex; align-items: center; gap: calc(2.4 * var(--u)); background: #eceff6; border-radius: calc(3.4 * var(--u)); padding: calc(3 * var(--u)) calc(3.6 * var(--u)); margin-bottom: calc(4 * var(--u)); }
.pa-cerca svg { width: calc(4.6 * var(--u)); height: calc(4.6 * var(--u)); color: #6b7591; flex: 0 0 auto; }
.pa-cerca input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: inherit; font-size: calc(4 * var(--u)); color: #0b1530; }
.pa-cerca input::placeholder { color: #8a93ab; }
.pa-cat { display: grid; grid-template-columns: repeat(5, 1fr); margin-bottom: calc(3.2 * var(--u)); }
.pa-cat button { display: grid !important; justify-items: center; gap: calc(1.2 * var(--u)); padding-bottom: calc(2 * var(--u)) !important; color: #8a93ab !important; font-size: calc(3.4 * var(--u)); position: relative; }
.pa-cat button svg { width: calc(7 * var(--u)); height: calc(7 * var(--u)); color: #8fb0ff; transition: color .2s; }
.pa-cat button.on { color: #0b1530 !important; font-weight: 700; }
.pa-cat button.on svg { color: #2f6bff; }
.pa-cat button.on::after { content: ""; position: absolute; bottom: 0; left: 26%; right: 26%; height: calc(.8 * var(--u)); border-radius: 9px; background: #2f6bff; }
.pa-chip { display: flex; gap: calc(2 * var(--u)); overflow-x: auto; scrollbar-width: none; margin: 0 calc(-5 * var(--u)) calc(3.6 * var(--u)); padding: 0 calc(5 * var(--u)); }
.pa-chip::-webkit-scrollbar { display: none; }
.pa-chip button { flex: 0 0 auto; border: calc(.3 * var(--u)) solid #e1e5ee !important; background: #fff !important; border-radius: 99px !important; padding: calc(2 * var(--u)) calc(3.8 * var(--u)) !important; font-size: calc(3.6 * var(--u)); white-space: nowrap; transition: background .2s, color .2s; }
.pa-chip button.on { background: #e6eeff !important; color: #2f6bff !important; border-color: #e6eeff !important; font-weight: 600; }
/* elenco delle attività */
.pa-lista { display: grid; gap: calc(2.6 * var(--u)); }
.pa-luogo-c { display: flex !important; gap: calc(3 * var(--u)); align-items: center; text-align: left; width: 100%; background: #fff !important; border-radius: calc(4 * var(--u)) !important; padding: calc(2.6 * var(--u)) !important;
  box-shadow: 0 calc(.6 * var(--u)) calc(2.4 * var(--u)) rgba(11, 21, 48, .06); transition: transform .15s; }
.pa-luogo-c:active { transform: scale(.98); }
.pa-foto { flex: 0 0 auto; width: calc(15 * var(--u)); height: calc(15 * var(--u)); border-radius: calc(3 * var(--u)); display: grid; place-items: center; color: #fff; font-family: var(--font-display, sans-serif); font-weight: 700; font-size: calc(6 * var(--u)); }
.pa-luogo-c span.t { flex: 1; min-width: 0; display: grid; gap: calc(.4 * var(--u)); }
.pa-luogo-c b { font-size: calc(4.1 * var(--u)); }
.pa-luogo-c small { color: #6b7591; font-size: calc(3.3 * var(--u)); }
.pa-luogo-c em { font-style: normal; justify-self: start; font-size: calc(3 * var(--u)); font-weight: 600; color: #1e7f4f; background: #e3f4ea; border-radius: 99px; padding: calc(.6 * var(--u)) calc(2 * var(--u)); }
.pa-voto { font-weight: 700; font-size: calc(3.6 * var(--u)); color: #0b1530; white-space: nowrap; }
.pa-voto::before { content: "★ "; color: #ffb400; }
.pa-vuoto { text-align: center; color: #6b7591; font-size: calc(3.8 * var(--u)); padding: calc(8 * var(--u)) 0; }
/* schermate interne */
.pa-barra { display: flex; align-items: center; gap: calc(2 * var(--u)); padding: calc(1.6 * var(--u)) calc(4 * var(--u)) calc(3 * var(--u)); }
.pa-barra b { font-size: calc(5 * var(--u)); }
.pa-indietro { width: calc(9 * var(--u)); height: calc(9 * var(--u)); border-radius: 50% !important; background: #fff !important; display: grid !important; place-items: center; box-shadow: 0 calc(.5 * var(--u)) calc(2 * var(--u)) rgba(11, 21, 48, .1); }
.pa-indietro svg { width: calc(4.6 * var(--u)); height: calc(4.6 * var(--u)); }
.pa-testa { border-radius: calc(5 * var(--u)); color: #fff; padding: calc(16 * var(--u)) calc(5 * var(--u)) calc(5 * var(--u)); margin-bottom: calc(4 * var(--u)); position: relative; overflow: hidden; }
.pa-testa b { display: block; font-family: var(--font-display, sans-serif); font-size: calc(7.6 * var(--u)); letter-spacing: -.03em; }
.pa-testa small { opacity: .9; font-size: calc(3.6 * var(--u)); }
.pa-riquadro { background: #fff; border-radius: calc(4 * var(--u)); padding: calc(4 * var(--u)); margin-bottom: calc(3 * var(--u)); display: grid; gap: calc(1.6 * var(--u)); }
.pa-riquadro small { color: #6b7591; font-size: calc(3.3 * var(--u)); }
.pa-riquadro b { font-size: calc(4.4 * var(--u)); }
.pa-punti { font-family: var(--font-display, sans-serif); font-size: calc(12 * var(--u)) !important; letter-spacing: -.03em; color: #2f6bff; line-height: 1; }
.pa-barretta { height: calc(2 * var(--u)); border-radius: 99px; background: #e6eeff; overflow: hidden; }
.pa-barretta i { display: block; height: 100%; border-radius: 99px; background: #2f6bff; transition: width .8s cubic-bezier(.2, .7, .2, 1); }
.pa-cta { display: block; width: 100%; text-align: center; background: #2f6bff !important; color: #fff !important; border-radius: 99px !important; padding: calc(3.6 * var(--u)) !important; font-weight: 700; font-size: calc(4.4 * var(--u)); margin-top: calc(2 * var(--u)); transition: background .2s, transform .15s; }
.pa-cta:active { transform: scale(.98); }
.pa-cta.ok { background: #1e7f4f !important; }
.pa-sec { display: block; font-size: calc(3 * var(--u)); letter-spacing: .14em; text-transform: uppercase; color: #6b7591; font-weight: 600; margin: calc(4 * var(--u)) 0 calc(2 * var(--u)); }
/* foglio di prenotazione */
.pa-velo { position: absolute; inset: 0; z-index: 4; background: rgba(11, 21, 48, .35); opacity: 0; pointer-events: none; transition: opacity .3s; }
.pa-velo.on { opacity: 1; pointer-events: auto; }
.pa-foglio { position: absolute; left: 0; right: 0; bottom: 0; z-index: 5; background: #fff; border-radius: calc(7 * var(--u)) calc(7 * var(--u)) 0 0; padding: calc(3 * var(--u)) calc(5 * var(--u)) calc(9 * var(--u));
  transform: translateY(105%); transition: transform .42s cubic-bezier(.2, .8, .2, 1); box-shadow: 0 calc(-4 * var(--u)) calc(14 * var(--u)) rgba(11, 21, 48, .2); }
.pa-foglio.on { transform: none; }
.pa-foglio::before { content: ""; display: block; width: calc(11 * var(--u)); height: calc(1.2 * var(--u)); border-radius: 9px; background: #d6dbe6; margin: 0 auto calc(3.4 * var(--u)); }
.pa-foglio b.tit { font-size: calc(5.4 * var(--u)); display: block; }
.pa-scelte { display: flex; gap: calc(2 * var(--u)); flex-wrap: wrap; }
.pa-scelte button { flex: 1; min-width: calc(14 * var(--u)); border-radius: calc(3 * var(--u)) !important; background: #eef2fb !important; padding: calc(2.6 * var(--u)) 0 !important; font-weight: 600; font-size: calc(3.8 * var(--u)); transition: background .2s, color .2s; }
.pa-scelte button.on { background: #2f6bff !important; color: #fff !important; }
.pa-fatto { display: grid; justify-items: center; text-align: center; gap: calc(2.4 * var(--u)); padding: calc(4 * var(--u)) 0 calc(2 * var(--u)); }
.pa-fatto i { width: calc(16 * var(--u)); height: calc(16 * var(--u)); border-radius: 50%; background: #1e7f4f; color: #fff; display: grid; place-items: center; font-style: normal; font-size: calc(8 * var(--u)); font-weight: 700; animation: pa-pop .5s cubic-bezier(.2, .9, .3, 1.4); }
.pa-fatto b { font-size: calc(5.6 * var(--u)); }
.pa-fatto small { color: #6b7591; font-size: calc(3.8 * var(--u)); }
@keyframes pa-pop { from { transform: scale(.3); opacity: 0; } }
/* notifiche e mappa */
.pa-notif { display: flex; gap: calc(3 * var(--u)); background: #fff; border-radius: calc(4 * var(--u)); padding: calc(3.4 * var(--u)); margin-bottom: calc(2.4 * var(--u)); align-items: flex-start; }
.pa-notif .pa-foto { width: calc(10 * var(--u)); height: calc(10 * var(--u)); font-size: calc(4.4 * var(--u)); border-radius: calc(2.6 * var(--u)); }
.pa-notif span { display: grid; gap: calc(.6 * var(--u)); }
.pa-notif b { font-size: calc(3.9 * var(--u)); }
.pa-notif small { color: #6b7591; font-size: calc(3.4 * var(--u)); line-height: 1.35; }
.pa-mappa-v { position: relative; height: calc(110 * var(--u)); border-radius: calc(5 * var(--u)); overflow: hidden; background: #e8edf5; }
.pa-mappa-v svg.strade { position: absolute; inset: 0; width: 100%; height: 100%; }
.pa-pin { position: absolute; transform: translate(-50%, -100%); display: grid !important; justify-items: center; }
.pa-pin span { background: #2f6bff; color: #fff; font-weight: 700; font-size: calc(3.2 * var(--u)); border-radius: 99px; padding: calc(1.2 * var(--u)) calc(2.6 * var(--u)); white-space: nowrap; box-shadow: 0 calc(1 * var(--u)) calc(3 * var(--u)) rgba(37, 99, 240, .4); }
.pa-pin::after { content: ""; width: calc(2 * var(--u)); height: calc(2 * var(--u)); background: #2f6bff; transform: rotate(45deg); margin-top: calc(-1.2 * var(--u)); }
.pa-tu { position: absolute; left: 50%; top: 56%; width: calc(4 * var(--u)); height: calc(4 * var(--u)); border-radius: 50%; background: #2f6bff; box-shadow: 0 0 0 calc(1 * var(--u)) #fff, 0 0 0 calc(5 * var(--u)) rgba(47, 107, 255, .2); }
/* suggerimento sotto il telefono */
.pa-hint { text-align: center; color: var(--muted, #6b7591); font-size: 14px; margin-top: 16px; }
.pp-spot .pa-hint { color: #9aa5b6; }

/* barra in basso, come nell'app vera */
/* niente sfocatura qui: un elemento con backdrop-filter sfugge agli angoli arrotondati dello schermo e ne lascia vedere gli spigoli */
.pa-tabs { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: grid; grid-template-columns: repeat(5, 1fr); padding: calc(2.4 * var(--u)) calc(1 * var(--u)) calc(6 * var(--u));
  background: rgba(250, 251, 253, .97); border-top: 1px solid rgba(11, 21, 48, .06); }
.pa-tabs button { display: grid !important; justify-items: center; gap: calc(.8 * var(--u)); font-size: calc(3 * var(--u)); color: #6b7591 !important; }
.pa-tabs button svg { width: calc(6.4 * var(--u)); height: calc(6.4 * var(--u)); }
.pa-tabs button.on { color: #2f6bff !important; font-weight: 600; }
.pa-luogo svg:last-child { width: calc(3.4 * var(--u)); height: calc(3.4 * var(--u)); color: #6b7591; }
.pa-filtri { flex: 0 0 auto; padding-left: calc(3 * var(--u)); border-left: 1px solid #d6dbe6; color: #3a4560; }
.pa-filtri svg { color: #3a4560 !important; }
.pa-chip2 { margin-top: calc(-1.4 * var(--u)); }
.pa-chip2 button { display: inline-flex !important; align-items: center; gap: calc(1.4 * var(--u)); }
.pa-chip2 svg { width: calc(4 * var(--u)); height: calc(4 * var(--u)); }
.pa-tit { display: block; font-family: var(--font-display, sans-serif); font-size: calc(6.4 * var(--u)); letter-spacing: -.03em; margin: calc(1 * var(--u)) 0 calc(3 * var(--u)); }
.pa-foglio { padding-bottom: calc(26 * var(--u)) !important; z-index: 6 !important; }
.pa-velo { z-index: 5 !important; }
.pm-app .pa-tocco { animation: pa-tocco .45s ease; }
@keyframes pa-tocco { 40% { transform: scale(.94); filter: brightness(.92); } }
.tz-scr.pm-app p { max-width: none; line-height: 1.35; }
.tz-scr.pm-app .pa-carta p { color: #fff; opacity: .92; font-size: calc(3.7 * var(--u)); }
.tz-scr.pm-app .pa-vuoto { color: #6b7591; font-size: calc(3.8 * var(--u)); }
