/* La sezione «primi titoli dal tuo indirizzo» dentro le pagine che la ospitano
   (home e landing di campagna, 22/10/2026). Le forme vengono dalla pagina
   /en/first-titles.html; qui la fascia è una sezione in mezzo alla pagina, non
   il primo schermo, quindi è più bassa e il titolo è un h2.

   Il colore del testo si dichiara dentro la scheda: è bianca dentro una fascia
   scura, e senza quella riga tutto ciò che non ha un colore suo eredita il
   bianco della fascia e sparisce. */

.pt-sezione { background: var(--rg-forest); color: #fff; padding: 2.6rem 0 2.8rem;
              background-image: radial-gradient(120% 90% at 85% 0%, #14563A 0%, #0B2E20 62%); }
.pt-sezione .rg-container { display: grid; gap: 1.6rem 2.6rem; align-items: start; }
@media (min-width: 900px) { .pt-sezione .rg-container { grid-template-columns: 1fr 34rem; } }

.pt-occhiello { display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .04em;
                text-transform: uppercase; color: #0B2E20; background: var(--rg-mint);
                padding: .3rem .7rem; border-radius: 999px; margin: 0 0 1rem; }
.pt-sezione h2 { font-size: clamp(1.5rem, 3.4vw, 2.1rem); line-height: 1.15; margin: 0 0 .8rem; color: #fff; }
.pt-sezione h2 em { color: var(--rg-mint); font-style: normal; }
.pt-promessa { font-size: 1.05rem; line-height: 1.6; margin: 0; color: #D8EFE4; max-width: 32em; }

.pt-scheda { background: #fff; border-radius: 14px; padding: 1.4rem; color: var(--rg-text);
             box-shadow: 0 18px 44px rgba(0,0,0,.22); }
.pt-scheda label { display: block; font-size: .88rem; font-weight: 600;
                   color: var(--rg-forest); margin-bottom: .35rem; }
.pt-scheda input { width: 100%; padding: .85rem .9rem; border: 1px solid var(--rg-border);
                   border-radius: 10px; font: inherit; font-size: 1.05rem; }
.pt-scheda input:focus { outline: 2px solid var(--rg-action); outline-offset: 1px; border-color: var(--rg-action); }
.pt-scheda h3 { font-size: 1.18rem; margin: 0 0 .35rem; color: var(--rg-forest); }
.pt-scheda > div > p:first-of-type:not(.pt-nota) { color: var(--rg-forest); }
/* La riga sotto il modulo resta secondaria: senza il :not qui sopra prendeva il
   verde scuro, perche' nel primo stato e' lei il primo paragrafo del blocco. */

.pt-bottone { display: block; width: 100%; margin-top: .9rem; padding: .9rem 1rem; border: 0;
              border-radius: 10px; background: var(--rg-action); color: #fff; font: inherit;
              font-size: 1.05rem; font-weight: 700; cursor: pointer; text-align: center;
              text-decoration: none; }
.pt-bottone[disabled] { opacity: .6; cursor: default; }
.pt-nota { font-size: .82rem; color: var(--rg-text-muted); margin: .9rem 0 0; line-height: 1.5; }
.pt-avviso { background: #FEF3C7; border: 1px solid #FCD34D; color: #78350F;
             border-radius: 10px; padding: .8rem .9rem; font-size: .9rem; margin: 0 0 1rem; }

.pt-attesa { display: flex; align-items: center; gap: .7rem; color: var(--rg-forest); font-size: .98rem; margin: 0; }
.pt-rotella { width: 1.2rem; height: 1.2rem; border: 2px solid var(--rg-border);
              border-top-color: var(--rg-action); border-radius: 50%; flex: 0 0 auto;
              animation: pt-gira .8s linear infinite; }
@keyframes pt-gira { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pt-rotella { animation-duration: 3s; } }

.pt-titoli { list-style: none; padding: 0; margin: 0 0 1.2rem; counter-reset: pt; }
.pt-titoli li { counter-increment: pt; position: relative; padding: .75rem 0 .75rem 2.4rem;
                border-bottom: 1px solid var(--rg-border); line-height: 1.45;
                color: var(--rg-forest); font-weight: 600; }
.pt-titoli li:last-child { border-bottom: 0; }
.pt-titoli li::before { content: counter(pt); position: absolute; left: 0; top: .72rem;
                        width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--rg-forest);
                        color: #fff; font-size: .8rem; font-weight: 700; display: flex;
                        align-items: center; justify-content: center; }
