/* Rinnovo · R8 — Salpe Travel Planner: il pannello (sopra quello della ricerca, con le stesse basi), il programma per
   giornate, i conti, l'ingresso in home e il tasto per tornare al programma. */
.tp-velo { z-index: 9400; }
.tp-scheda .tp-corpo { overflow-y: auto; padding: 4px 18px 18px; flex: 1; }
.tp-l { display: block; margin: 14px 0 6px; font-weight: 700; font-size: .875rem; }
.tp-corpo textarea, .tp-corpo input:not([type="checkbox"]), .tp-corpo select { width: 100%; box-sizing: border-box; min-height: 46px; padding: 10px 12px;
  border: 1px solid var(--srx-linea, rgba(12, 42, 51, .16)); border-radius: 12px; background: var(--srx-carta, #fff); color: inherit; font: inherit; font-size: 1rem; -webkit-appearance: none; appearance: none; }
.tp-corpo select { background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 32px; }
.tp-corpo textarea { min-height: 84px; line-height: 1.4; }
.tp-corpo input:focus-visible, .tp-corpo select:focus-visible, .tp-corpo textarea:focus-visible { outline: 2px solid var(--srx-mare, #157d92); outline-offset: 1px; }
.tp-due { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tp-eta { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; }
.tp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tp-chip { border: 1px solid rgba(12, 42, 51, .18); background: var(--card, #fff); color: inherit; border-radius: 999px; padding: 8px 14px; font: 600 .875rem 'Plus Jakarta Sans', system-ui, sans-serif; cursor: pointer; text-align: left; }
.tp-chip small { display: block; font-weight: 500; font-size: .75rem; opacity: .75; }
.tp-chip.on { background: #0a3a48; border-color: #0a3a48; color: #fff; }
.tp-chip:focus-visible, .tp-btn:focus-visible { outline: 3px solid #157d92; outline-offset: 2px; }
.tp-spunta { display: flex; gap: 8px; align-items: center; margin: 6px 0; font-size: .9375rem; }
.tp-spunta input { width: 20px; height: 20px; }
#tpNote { margin-top: 8px; }
.tp-nota { margin: 8px 0 0; font-size: .875rem; color: var(--srx-muto, #5a7479); }
.tp-errore { margin: 12px 0 0; padding: 10px 12px; border-radius: 12px; background: #fff6e6; color: #7a4d0b; font-size: .875rem; }
.tp-avviso { margin: 6px 0 12px; padding: 10px 12px; border-radius: 12px; background: #eef5f5; color: #0c2a33; font-size: .875rem; line-height: 1.45; }
.tp-riassunto { margin: 0 0 6px; font-weight: 600; }
.tp-giorno { margin-top: 16px; }
.tp-giorno h3, .tp-conti h3, .tp-alt h3 { margin: 0 0 8px; font: 700 1rem 'Plus Jakarta Sans', system-ui, sans-serif; }
.tp-voce { display: flex; gap: 12px; padding: 12px; border-radius: 14px; background: var(--card, #fff); border: 1px solid rgba(12, 42, 51, .1); margin: 8px 0; }
.tp-ora { flex: none; width: 52px; font: 800 1rem 'Plus Jakarta Sans', system-ui, sans-serif; color: #0a3a48; }
.tp-ora small { display: block; font-weight: 600; font-size: .75rem; color: var(--srx-muto, #5a7479); }
.tp-tx { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.tp-tx > small { color: var(--srx-muto, #5a7479); }
.tp-costo { font-weight: 700; }
.tp-costo em { display: block; font-style: normal; font-weight: 500; font-size: .75rem; color: var(--srx-muto, #5a7479); }
.tp-fonte { align-self: flex-start; font-size: .75rem; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: #fff6e6; color: #7a4d0b; }
.tp-fonte.ok { background: #eaf6f0; color: #1a5c3e; }
.tp-az { display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: center; margin-top: 6px; }
.tp-btn { border: 0; border-radius: 999px; padding: 9px 14px; background: #0a3a48; color: #fff; font: 700 .875rem 'Plus Jakarta Sans', system-ui, sans-serif; cursor: pointer; }
.tp-spost, .tp-libero { margin: 4px 0; font-size: .8125rem; color: var(--srx-muto, #5a7479); padding-left: 64px; }
.tp-libero { font-style: italic; }
.tp-idea { margin: 6px 0; font-size: .9375rem; }
.tp-conti { margin-top: 18px; padding: 14px; border-radius: 14px; background: var(--card, #fff); border: 1px solid rgba(12, 42, 51, .12); }
.tp-conti p { display: flex; justify-content: space-between; gap: 10px; margin: 8px 0 2px; }
.tp-conti small { display: block; color: var(--srx-muto, #5a7479); font-size: .75rem; line-height: 1.4; }
.tp-tot { border-top: 1px solid rgba(12, 42, 51, .12); padding-top: 8px; font-size: 1.0625rem; }
.tp-ok b { color: #1a7a53; } .tp-ko b { color: #a8403e; }
.tp-alt { margin-top: 14px; }
.tp-alt p { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0; }
.tp-home { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 20px 6px; padding: 16px 18px; border-radius: 18px; background: #eef5f5; color: #0c2a33; }
.tp-home b { display: block; font: 600 1.125rem 'Playfair Display', Georgia, serif; margin: 2px 0; }
.tp-home small { display: block; color: #5a7479; font-size: .875rem; max-width: 46em; }
.tp-occhiello { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; color: #846718; }
.tp-torna { position: fixed; right: 16px; bottom: calc(86px + env(safe-area-inset-bottom, 0px)); z-index: 40; border: 0; border-radius: 999px; padding: 12px 16px; background: #0a3a48; color: #fff;
  font: 700 .875rem 'Plus Jakarta Sans', system-ui, sans-serif; box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .55); cursor: pointer; }
.tp-torna[hidden] { display: none; }
@media (min-width: 600px) { .tp-home { margin: 18px 28px 6px; } }
@media (min-width: 921px) { .tp-home { margin: 22px 48px 8px; } }
html.notte .tp-home, html.notte .tp-avviso { background: rgba(95, 201, 216, .08); color: inherit; }
html.notte .tp-home small { color: #93a7ad; }
html.notte .tp-voce, html.notte .tp-conti, html.notte .tp-chip { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .14); }
html.notte .tp-chip.on { background: #5FC9D8; color: #061921; }
html.notte .tp-ora { color: #9fdbe3; }
@media (min-width: 720px) { .tp-scheda.srx-scheda { max-width: 720px; } }
.tp-riassunto .srx-link { display: block; margin: 2px 0 0; padding: 6px 0; }
html.notte .tp-ora { color: #9fdbe3; }
html.notte .tp-fonte { background: rgba(240, 163, 94, .14); color: #f3c995; }
html.notte .tp-fonte.ok { background: rgba(95, 216, 160, .14); color: #a9e8c8; }
html.notte .tp-errore { background: rgba(240, 163, 94, .14); color: #f3c995; }
html.notte .tp-btn { background: #5FC9D8; color: #061921; }
html.notte .tp-ok b { color: #7fe0b0; } html.notte .tp-ko b { color: #ff9b8f; }
html.notte .tp-occhiello { color: #e0c27a; }
/* La guida a passi (30/10): l'avanzamento in alto, una domanda grande, poche scelte grandi, Indietro e Avanti in fondo. */
.tp-passi { display: flex; gap: 6px; margin: 0 0 18px; padding: 0; list-style: none; }
.tp-passi li { flex: 1; min-width: 0; }
.tp-passi button { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; width: 100%; padding: 8px 0 0; border: 0; border-top: 3px solid rgba(12, 42, 51, .14); background: none; color: #6f8792; font: 600 .75rem 'Plus Jakarta Sans', system-ui, sans-serif; text-align: left; cursor: pointer; }
.tp-passi button:disabled { cursor: default; }
.tp-passi span { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(12, 42, 51, .08); font-size: .75rem; }
.tp-passi li.fatto button { border-top-color: #0a3a48; color: #0a3a48; }
.tp-passi li.fatto span { background: #0a3a48; color: #fff; }
.tp-passi li.on button { border-top-color: #c9a24a; color: #0a3a48; }
.tp-passi li.on span { background: #c9a24a; color: #fff; }
.tp-domanda { margin: 0 0 6px; font: 700 1.375rem/1.25 'Playfair Display', Georgia, serif; outline: none; }
.tp-aiuto { margin: 0 0 18px; font-size: .9375rem; line-height: 1.45; opacity: .8; }
.tp-conta { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid rgba(12, 42, 51, .1); }
.tp-conta > span { flex: 1; min-width: 0; }
.tp-conta > span b { display: block; font-size: 1rem; }
.tp-conta > span small { display: block; font-size: .8125rem; opacity: .7; }
.tp-conta button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(12, 42, 51, .2); background: var(--card, #fff); color: inherit; font-size: 1.375rem; line-height: 1; cursor: pointer; }
.tp-conta output { min-width: 2ch; text-align: center; font: 700 1.25rem 'Plus Jakarta Sans', system-ui, sans-serif; }
.tp-riquadri { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-bottom: 18px; }
.tp-riquadro { display: flex; flex-direction: column; gap: 4px; padding: 14px; border: 1.5px solid rgba(12, 42, 51, .16); border-radius: 16px; background: var(--card, #fff); color: inherit; text-align: left; cursor: pointer; min-height: 76px; }
.tp-riquadro b { font: 700 .9375rem 'Plus Jakarta Sans', system-ui, sans-serif; }
.tp-riquadro small { font-size: .8125rem; line-height: 1.35; opacity: .75; }
.tp-riquadro.on { border-color: #0a3a48; background: rgba(10, 58, 72, .06); box-shadow: inset 0 0 0 1px #0a3a48; }
.tp-tre { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tp-testo { margin-top: 20px; padding-top: 14px; border-top: 1px solid rgba(12, 42, 51, .1); }
.tp-testo summary { cursor: pointer; font-weight: 600; color: #0a3a48; }
.tp-testo textarea { margin-top: 10px; }
.tp-piede { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html.notte .tp-passi button { border-top-color: rgba(255, 255, 255, .14); color: #93a7ad; }
html.notte .tp-passi li.fatto button, html.notte .tp-passi li.on button { color: #e6f0f2; }
html.notte .tp-passi li.fatto span { background: #5FC9D8; color: #061921; }
html.notte .tp-riquadro, html.notte .tp-conta button { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .14); }
html.notte .tp-riquadro.on { border-color: #5FC9D8; box-shadow: inset 0 0 0 1px #5FC9D8; background: rgba(95, 201, 216, .08); }
html.notte .tp-conta { border-bottom-color: rgba(255, 255, 255, .1); }
html.notte .tp-testo summary { color: #5FC9D8; }
