/* ==========================================================================
   softwarefrantoio.it con il tema di nextfuture.it (28/10/2026)
   ==========================================================================
   Si carica dopo green-theme.css, nextfuture.css, nextfuture-tema.css e
   componenti.css, copiati da nextfuture.it: stessi colori, Satoshi e
   componenti (colonne su linee, recensioni, domande, footer verde notte).
   Qui solo quello che serve a questo sito: testata con il nome
   dell'inserzionista, apertura a due colonne, confronto senza/con, fascia a
   metà pagina e la pagina demo con il modulo.

   Il tema Martex ha `a:hover { color: #1f2914 !important }`: ogni pulsante
   fatto con <a> dichiara il suo colore al passaggio con !important.
   ========================================================================== */

/* ----- Testata: logo Extravirgin e, accanto, il nome dell'inserzionista (norma Google Ads) ----- */
.desktoplogo a { display: inline-flex !important; align-items: center; gap: 12px; }
.desktoplogo img { max-height: 40px; width: auto; }
.sf-di { font: 500 .85rem/1 'Satoshi', sans-serif; color: #8a8f84; padding-left: 12px; border-left: 1px solid var(--nf-linea); white-space: nowrap; }
.smllogo { display: inline-flex; align-items: center; gap: 10px; }
.smllogo .sf-di { font-size: .78rem; padding-left: 10px; }
.nfc-btn svg { width: 18px; height: 18px; flex: none; }

/* ----- Titoli di sezione: centrati, niente etichette sopra ----- */
.sf-titolo { max-width: 820px; margin: 0 auto 50px; text-align: center; }
.sf-titolo h2 { font-size: 2.6rem; line-height: 1.12; margin-bottom: 16px; }
.sf-titolo p { font-size: 1.15rem; margin: 0; }
.sf-centro { justify-content: center; text-align: center; margin-top: 46px; }
.sf-testo { max-width: 860px; margin: 0 auto; }

/* ----- Apertura ----- */
.sf-hero { padding: 170px 0 100px; }
.sf-hero h1 { font-size: 3.3rem; line-height: 1.08; letter-spacing: -.03em; margin-bottom: 22px; }
.sf-hero .sf-sotto { font-size: 1.2rem; line-height: 1.65; color: #4b5046; margin-bottom: 30px; max-width: 560px; }
.sf-nota { margin: 14px 0 0; font-size: .95rem; color: #6b7065; }
.sf-hero-img { margin-left: 20px; }
/* Apertura verde notte (B): testi chiari, la schermata in luce, pulsante secondario a bordo bianco */
.sf-hero-notte { background: #1f2914; }
#hero-8.sf-demo-hero.sf-hero-notte { background: #1f2914; }
.sf-hero-notte h1 { color: #fff; }
.sf-hero-notte .sf-sotto, .sf-hero-notte .sf-nota, .sf-hero-notte .sf-demo-numeri p { color: #c9d3b8; }
.sf-hero-notte .sf-sotto b, .sf-hero-notte .sf-nota b { color: #fff !important; }
.sf-hero-notte .nf-browser { box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); border-color: rgba(255,255,255,.1); }
.sf-hero-notte .sf-demo-numeri { border-color: rgba(255,255,255,.14); }
.sf-hero-notte .sf-demo-numeri > div + div { border-left-color: rgba(255,255,255,.14); }
.sf-hero-notte .sf-demo-numeri b { color: #c5bb28; }
.sf-hero-notte #hero-8-form { box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); border-color: transparent; }
.sf-btn-bordo-bianco { border: 1px solid rgba(255,255,255,.7); color: #fff; background: transparent; }
a.sf-btn-bordo-bianco:hover { background: #fff; color: #1f2914 !important; }

/* ----- Colonne: le versioni hanno il nome del prodotto sotto il titolo ----- */
.sf-versioni small { display: block; margin: -4px 0 10px 38px; font-weight: 700; color: var(--nf-verde-hover); }

/* ----- Senza e con Extravirgin (B): due pannelli, il «senza» spento e il «con» verde notte ----- */
.sf-confronto { display: grid; grid-template-columns: 1fr 1fr; border-radius: 16px; overflow: hidden; border: 1px solid var(--nf-linea); }
.sf-confronto > div { padding: 40px 40px 26px; }
.sf-confronto h3 { font-size: 1.4rem; margin-bottom: 10px; }
.sf-confronto ul { list-style: none; padding: 0; margin: 0; }
.sf-confronto li { display: flex; gap: 14px; padding: 16px 0; border-top: 1px solid var(--nf-linea); }
.sf-confronto li strong { display: block; font-weight: 700; margin-bottom: 2px; }
.sf-confronto li span:not(.nfc-si):not(.sf-no) { display: block; font-size: .96rem; line-height: 1.55; }
.sf-confronto .nfc-si, .sf-no { flex: none; width: 20px; height: 20px; margin-top: 3px; }
.sf-no { display: inline-block; color: #9a9f93; }
.sf-no svg { width: 100%; height: 100%; display: block; }
.sf-confronto-senza { background: #f4f5f1; }
.sf-confronto-senza h3, .sf-confronto-senza li strong { color: #6b7065 !important; }
.sf-confronto-senza li span:not(.sf-no) { color: #8a8f84; }
.sf-confronto-con { background: var(--nf-notte-2); }
.sf-confronto-con h3, .sf-confronto-con li strong, .sf-confronto-con b { color: #fff !important; }
.sf-confronto-con li span:not(.nfc-si) { color: #c9d3b8; }
.sf-confronto-con li { border-top-color: rgba(255,255,255,.14); }
.sf-confronto-con .nfc-si { color: #b9d36a; }

/* ----- Fascia a metà pagina, verde notte piatta ----- */
.sf-fascia { padding: 80px 0; }
.sf-fascia-riga { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.sf-fascia h2 { font-size: 2.3rem; line-height: 1.12; margin-bottom: 12px; }
.sf-fascia p { font-size: 1.1rem; margin: 0; max-width: 700px; }
.nf-notte.sf-fascia p b { color: #fff; }
.sf-fascia .btn, .sf-fascia .nfc-btn { flex: none; }
.sf-fascia-chiara { border-top: 1px solid var(--nf-linea); border-bottom: 1px solid var(--nf-linea); }
.sf-fascia-chiara p b { color: #1f2914; }

/* ----- Approfondimento ----- */
.sf-testo > h2 { font-size: 2.3rem; line-height: 1.15; margin-bottom: 20px; }
.sf-testo h3 { font-size: 1.35rem; margin: 36px 0 10px; }
.sf-testo .sf-lead { font-size: 1.15rem; }
.sf-altre { margin-top: 30px; }

/* ----- Footer B: verde notte, chiusura con il solo pulsante della demo (niente telefono accanto:
   le visite arrivano dagli annunci, la conversione è la richiesta di demo), poi marchio, link e recapiti ----- */
.sf-footer-testa { text-align: center; max-width: 780px; margin: 0 auto; padding-bottom: 64px; margin-bottom: 64px; border-bottom: 1px solid var(--nf-linea); }
.sf-footer-testa h2 { color: #fff; font-size: 2.5rem; line-height: 1.1; margin-bottom: 12px; }
.sf-footer-testa > p { color: #c9d3b8; font-size: 1.1rem; }
.sf-footer-testa > p b { color: #fff !important; }
.nf-footer .sf-footer-cta { margin-top: 18px; min-height: 58px; padding: 0 34px; display: inline-flex; align-items: center; font: 700 1.1rem/1 'Satoshi', sans-serif; }
.sf-footer-testa .sf-footer-orari { font-size: .95rem; color: #aab49c; margin: 14px 0 0; }
.sf-footer-griglia { grid-template-columns: 1.7fr 1fr 1fr 1.2fr; }
.sf-footer .nf-footer-marchio p { max-width: 440px; }
/* Barra da telefono con il solo pulsante della demo */
@media (max-width: 767px) { .nfc-barra.sf-barra { grid-template-columns: 1fr; } }

/* ----- Pagina demo: apertura con il modulo ----- */
/* L'id #hero-8 serve a form.js e porta con sé le regole del template (foto viola, margini, testo
   centrato da telefono): qui si annullano con la stessa forza dell'id. */
#hero-8.sf-demo-hero { background: #fbfcf8 url(../images/home/sfondo-archi.svg) no-repeat right -160px top -120px / 820px auto; padding: 160px 0 90px; margin: 0; text-align: left; }
#hero-8.sf-demo-hero #hero-8-form { margin-left: 0; }
.sf-demo-hero h1 { font-size: 3rem; line-height: 1.08; letter-spacing: -.03em; margin-bottom: 20px; }
.sf-demo-hero .sf-sotto { font-size: 1.15rem; line-height: 1.65; color: #4b5046; margin-bottom: 0; }
.sf-demo-numeri { display: grid; grid-template-columns: 1fr 1fr; margin-top: 36px; border-top: 1px solid var(--nf-linea); border-bottom: 1px solid var(--nf-linea); }
.sf-demo-numeri > div { padding: 22px 24px 22px 0; }
.sf-demo-numeri > div + div { padding-left: 24px; border-left: 1px solid var(--nf-linea); }
.sf-demo-numeri b { display: block; font: 900 2.4rem/1 'Satoshi', sans-serif; color: var(--nf-notte); letter-spacing: -.02em; margin-bottom: 8px; }
.sf-demo-numeri p { margin: 0; font-size: .95rem; line-height: 1.5; }
.sf-solo-telefono { display: none; }

#hero-8-form { background: #fff; border: 1px solid var(--nf-linea); border-radius: 16px; padding: 36px 34px 30px; box-shadow: var(--nf-ombra); scroll-margin-top: 90px; }
#hero-8-form h2 { font-size: 1.55rem; line-height: 1.2; margin-bottom: 10px; }
#hero-8-form > p { font-size: .98rem; margin-bottom: 22px; }
#hero-8-form .request-form .form-control { height: auto; min-height: 52px; border: 1px solid var(--nfc-campo); border-radius: 8px; padding: 13px 15px; font-size: 1rem; color: var(--nf-notte); background: #fff; margin-bottom: 14px; box-shadow: none; }
#hero-8-form .request-form .form-control:focus { border-color: var(--nf-verde); box-shadow: 0 0 0 3px rgba(122,156,48,.18); }
#hero-8-form .request-form .form-control::placeholder { color: #8a8f84; }
#hero-8-form .sf-consenso { display: flex; align-items: flex-start; gap: 10px; text-align: left; font-size: .88rem; line-height: 1.45; color: var(--nf-testo); margin: 2px 0 16px; cursor: pointer; }
#hero-8-form .sf-consenso input { flex: none; width: 19px; height: 19px; margin: 1px 0 0; accent-color: var(--nf-verde); }
#hero-8-form .form-btn .btn { width: 100%; min-height: 54px; border-radius: 6px; font: 700 1.02rem/1.2 'Satoshi', sans-serif; }

/* ----- Voti Trustpilot e Google su linee ----- */
.sf-voti { display: grid; grid-template-columns: 1fr 1fr; max-width: 640px; margin: 0 auto; border-top: 1px solid var(--nf-linea); border-bottom: 1px solid var(--nf-linea); }
.sf-voti a { display: flex; align-items: center; justify-content: center; gap: 16px; padding: 24px; text-decoration: none; }
.sf-voti a + a { border-left: 1px solid var(--nf-linea); }
.sf-voti img { height: 30px; width: auto; }
.sf-voti span { font: 700 1.05rem/1 'Satoshi', sans-serif; color: var(--nf-notte); }
.sf-voti span small { display: block; font-weight: 400; font-size: .82rem; color: #8a8f84; margin-top: 4px; }

/* ----- Tablet e telefono ----- */
@media (max-width: 1199px) {
    .sf-hero h1 { font-size: 2.8rem; }
}
@media (max-width: 991px) {
    .sf-hero { padding: 120px 0 70px; }
    .sf-hero h1, .sf-demo-hero h1 { font-size: 2.3rem; }
    .sf-hero-img { margin: 44px 0 0; }
    .sf-titolo h2, .sf-testo > h2 { font-size: 2rem; }
    .sf-confronto { grid-template-columns: 1fr; }
    .sf-confronto > div { padding: 30px 22px 18px; }
    .sf-footer-testa h2 { font-size: 2rem; }
    .sf-footer-griglia { grid-template-columns: 1fr 1fr; }
    .sf-fascia-riga { flex-direction: column; align-items: flex-start; gap: 26px; }
    .sf-fascia h2 { font-size: 1.9rem; }
    .sf-versioni small { margin-left: 38px; }
    #hero-8.sf-demo-hero { padding: 120px 0 60px; }
    #hero-8-form { margin-top: 40px; }
    .sf-solo-telefono { display: block; margin-top: 24px; }
    .desktoplogo .sf-di { display: none; }
}
@media (max-width: 575px) {
    .sf-hero h1, .sf-demo-hero h1 { font-size: 2rem; }
    .sf-hero .sf-sotto, .sf-demo-hero .sf-sotto { font-size: 1.05rem; }
    .sf-titolo h2, .sf-testo > h2 { font-size: 1.75rem; }
    .sf-titolo { margin-bottom: 36px; }
    .nfc-pulsanti .nfc-btn { width: 100%; }
    #hero-8-form { padding: 26px 20px 22px; }
    .sf-demo-numeri b { font-size: 2rem; }
    .sf-voti { grid-template-columns: 1fr; }
    .sf-voti a + a { border-left: 0; border-top: 1px solid var(--nf-linea); }
}

/* ----- Pagine interne (cookie, 404) ----- */
.sf-interna { padding-top: 170px; }
.sf-interna .inner-page-title h1 { font-size: 3rem; line-height: 1.1; }
.sf-interna .sf-centro { margin-top: 30px; }
@media (max-width: 991px) { .sf-interna { padding-top: 120px; } .sf-interna .inner-page-title h1 { font-size: 2.2rem; } }

/* Pagina demo su verde notte: il template colora i paragrafi di #hero-8 con l'id, qui si risponde con la stessa forza */
#hero-8.sf-hero-notte .sf-sotto, #hero-8.sf-hero-notte .sf-demo-numeri p { color: #c9d3b8 !important; }
#hero-8.sf-hero-notte .sf-sotto b { color: #fff !important; }
