/* Pagine community: /community_whatsapp, /entra, /invita */
.comm {
  --c-verde: #144c44; --c-verde-scuro: #0c3a32; --c-lime: #95d185; --c-lime-scuro: #7bbf6a;
  --c-ambra: #f3bf4d; --c-testo: #16261f; --c-soft: #51635b; --c-bg: #f5f8f4; --c-bordo: #e1e9e2;
  --c-ombra: 0 8px 30px rgba(12, 58, 50, .10);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased;
  color: var(--c-testo); line-height: 1.5; overflow-x: hidden; font-size: 16px;
}
.comm *, .comm *::before, .comm *::after { margin: 0; padding: 0; box-sizing: border-box; }
.comm button, .comm input, .comm label { font-family: inherit; }
.comm h1, .comm h2, .comm h3 { font-family: inherit; line-height: 1.12; letter-spacing: -.02em; margin: 0; }
.comm h1 { font-size: clamp(2rem, 4.8vw, 3.2rem); font-weight: 800; color: #fff; }
.comm h2 { font-size: clamp(1.5rem, 3.4vw, 2.1rem); font-weight: 800; }
.comm h3 { font-size: 1.1rem; font-weight: 700; }
.comm :where(p) { font-size: 1.02rem; }
.comm-wrap { max-width: 1100px; margin: 0 auto; padding: 0 22px; }
.comm-wrap--stretto { max-width: 560px; }
.comm-centro { text-align: center; }

.comm-cta {
  display: inline-block; background: var(--c-lime); color: var(--c-verde-scuro); 
  font-weight: 800; font-size: 1.08rem; text-decoration: none; text-align: center; padding: 17px 36px;
  border-radius: 999px; border: 0; cursor: pointer; transition: transform .12s, background .12s;
  box-shadow: 0 8px 24px rgba(149, 209, 133, .4);
}
.comm-cta:hover { background: var(--c-lime-scuro); transform: translateY(-2px); color: var(--c-verde-scuro); }
.comm-cta:focus-visible, .comm-copia:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }
.comm-cta--blocco { display: block; width: 100%; padding: 16px 20px; font-size: 1.06rem; box-shadow: none; }
.comm-cta--scuro { background: var(--c-verde); color: #fff; }
.comm-cta--scuro:hover { background: var(--c-verde-scuro); color: #fff; }
.comm-cta[disabled] { opacity: .6; cursor: wait; }
.comm-cta-nota { display: block; margin-top: 12px; font-size: .9rem; color: var(--c-soft); }
.comm-cta-nota--chiara { color: rgba(255, 255, 255, .7); }

/* Hero */
.comm-hero {
  background: radial-gradient(130% 120% at 80% -10%, #1c6356 0%, var(--c-verde) 48%, var(--c-verde-scuro) 100%);
  color: #fff; padding: 40px 0 52px; text-align: center;
}
.comm-hero--pieno { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 44px 0; }
.comm-colonna { display: flex; flex-direction: column; align-items: center; width: 100%; }
.comm-logo { height: 38px; width: auto; margin: 0 auto 30px; filter: brightness(0) invert(1); }
.comm-logo-link { display: inline-block; }
.comm-hero--pieno .comm-logo { height: 34px; margin-bottom: 26px; }
.comm-hero h1 { max-width: 18ch; margin: 0 auto 26px; }
.comm-hero--pieno h1 { font-size: clamp(1.7rem, 6vw, 2.3rem); line-height: 1.16; margin: 0 0 12px; }
.comm-hero h1 em { color: var(--c-lime); font-style: normal; }
.comm-bignum {
  font-size: clamp(2.1rem, 9vw, 5.4rem); font-weight: 900; color: var(--c-ambra);
  line-height: 1; letter-spacing: -.03em; white-space: nowrap; text-shadow: 0 4px 20px rgba(0, 0, 0, .3);
  font-variant-numeric: tabular-nums;
}
.comm-bignum-cap { font-size: .92rem; color: rgba(255, 255, 255, .72); margin: 10px auto 0; max-width: 34ch; }
.comm-hero .comm-cta { margin-top: 26px; }
.comm-sub { font-size: .95rem; color: rgba(255, 255, 255, .75); margin: 18px auto 0; max-width: 42ch; }
.comm-sub--grande { font-size: 1.04rem; color: rgba(255, 255, 255, .88); margin: 0 0 26px; }
.comm-badge {
  display: inline-block; border: 1px solid rgba(149, 209, 133, .5); color: var(--c-lime); font-weight: 700;
  font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; padding: 6px 14px; border-radius: 999px; margin-bottom: 18px;
}
.comm-fiducia { display: flex; gap: 8px 16px; flex-wrap: wrap; justify-content: center; margin-bottom: 26px; font-size: .86rem; color: rgba(255, 255, 255, .82); }
.comm-fiducia > span { display: flex; align-items: center; gap: 6px; }
.comm-punto { width: 6px; height: 6px; border-radius: 50%; background: var(--c-lime); }

/* Card bianca (entra, invita) */
.comm-card {
  background: #fff; color: var(--c-testo); border-radius: 18px; padding: 28px 24px; width: 100%;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .22); text-align: left;
}
.comm-card h2 { font-size: 1.3rem; text-align: center; margin-bottom: 6px; }
.comm-card__lead { text-align: center; color: var(--c-soft); font-size: .95rem; margin-bottom: 22px; }
.comm-card .modulo { gap: 14px; }
.comm-card .campo label { font-size: .88rem; font-weight: 700; }
.comm-card .campo input, .comm-modulo .campo input { width: 100%; padding: 13px 14px; border: 1px solid var(--c-bordo); border-radius: 10px; font-size: 1rem; font-family: inherit; color: var(--c-testo); background: #fff; }
.comm-card .campo { margin-bottom: 14px; }
.comm-card .modulo .campo { margin-bottom: 0; }
.comm-nota { font-size: .82rem; color: var(--c-soft); text-align: center; margin: 14px 0 0; }
.comm-privacy { font-size: .8rem; color: var(--c-soft); text-align: center; margin: 14px 0 0; }
.comm-privacy a { color: var(--c-verde); font-weight: 600; }
.comm .modulo__errore { margin: 0; }
#inv-errore { margin: 0 0 12px; }

/* Risultato di /invita */
.comm-res-titolo { font-weight: 800; font-size: 1.15rem; margin-bottom: 4px; }
.comm-res-sub { color: var(--c-soft); font-size: .92rem; margin-bottom: 18px; }
.comm-linkbox {
  background: #f5f8f4; border: 1px dashed var(--c-verde); border-radius: 10px; padding: 12px 14px; margin-bottom: 16px;
  word-break: break-all; font-size: .9rem; color: var(--c-verde); font-weight: 600;
}
#bfp-share { margin-bottom: 10px; }
.comm-copia {
  display: block; width: 100%; background: #eef4ee; color: var(--c-verde); border: 1px solid var(--c-bordo); border-radius: 999px;
  padding: 15px 20px; font-weight: 800; font-size: 1.05rem; font-family: inherit; cursor: pointer;
}
.comm-reset { display: block; width: 100%; background: none; border: 0; color: var(--c-soft); font: inherit; font-size: .85rem; text-decoration: underline; cursor: pointer; margin-top: 16px; }

/* Partner */
.comm-partners { background: #fff; border-bottom: 1px solid var(--c-bordo); padding: 26px 0; }
.comm-partners__titolo { text-align: center; font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--c-soft); margin-bottom: 18px; }
.comm-partners__logo { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 32px; }
.comm-partners__logo img { height: 38px; width: auto; filter: grayscale(1); opacity: .62; transition: filter .15s, opacity .15s; }
.comm-partners__logo img:hover { filter: none; opacity: 1; }

/* Sezioni */
.comm-sez { padding: 58px 0; }
.comm-testa { text-align: center; max-width: 660px; margin: 0 auto 38px; }
.comm-testa--stretta { margin-bottom: 24px; }
.comm-testa h2 { margin-top: 12px; }
.comm-testa p { margin-top: 10px; color: var(--c-soft); }
.comm-occhiello {
  display: inline-block; background: #e7f0ea; color: var(--c-verde); font-weight: 800;
  text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; padding: 6px 13px; border-radius: 999px;
}

/* Pain */
.comm-pain { background: var(--c-verde-scuro); color: #fff; }
.comm-pain .comm-occhiello { background: rgba(243, 191, 77, .18); color: var(--c-ambra); }
.comm-pain .comm-testa h2 { color: #fff; }
.comm-pain__griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.comm-pain__card { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); border-radius: 14px; padding: 22px 20px; }
.comm-pain__ico { font-size: 1.5rem; margin-bottom: 10px; }
.comm-pain__card h3 { color: #fff; margin-bottom: 6px; }
.comm-pain__card p { font-size: .94rem; color: rgba(255, 255, 255, .78); margin: 0; }

/* Schede */
.comm-schede { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px; }
.comm-scheda { background: #fff; border: 1px solid var(--c-bordo); border-radius: 14px; padding: 24px 20px; box-shadow: var(--c-ombra); }
.comm-scheda__ico { width: 46px; height: 46px; border-radius: 12px; background: #e7f0ea; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 14px; }
.comm-scheda h3 { margin-bottom: 6px; }
.comm-scheda p { font-size: .94rem; color: var(--c-soft); margin: 0; }

/* Consulente in tasca */
.comm-tasca { background: #eef4ee; }
.comm-tasca__griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 46px; align-items: center; }
.comm-tasca h2 { margin: 0 0 12px; }
.comm-lead { color: var(--c-soft); font-size: 1.06rem; margin-bottom: 20px; }
.comm-passi { display: flex; flex-direction: column; gap: 12px; }
.comm-passo { display: flex; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--c-bordo); border-radius: 12px; padding: 14px 16px; }
.comm-passo__num { flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--c-verde); color: var(--c-lime); font-weight: 900; display: flex; align-items: center; justify-content: center; }
.comm-passo b { font-size: .98rem; }
.comm-wa { max-width: 320px; margin: 0 auto; border-radius: 16px; overflow: hidden; box-shadow: 0 18px 50px rgba(0, 0, 0, .2); width: 100%; }
.comm-wa__testa { background: #075e54; color: #fff; display: flex; align-items: center; gap: 10px; padding: 11px 14px; }
.comm-wa__av { width: 36px; height: 36px; border-radius: 50%; background: var(--c-lime); color: var(--c-verde-scuro); display: flex; align-items: center; justify-content: center; font-weight: 900; flex: none; }
.comm-wa__nome { font-weight: 700; font-size: .92rem; line-height: 1.15; }
.comm-wa__stato { font-size: .72rem; color: rgba(255, 255, 255, .78); }
.comm-wa__corpo { background: #e5ddd5; padding: 16px 12px; display: flex; flex-direction: column; gap: 9px; }
.comm-wa__msg { align-self: flex-start; background: #fff; border-radius: 0 8px 8px 8px; padding: 7px 11px 16px; font-size: .83rem; line-height: 1.35; color: #111b21; box-shadow: 0 1px .6px rgba(0, 0, 0, .18); max-width: 90%; position: relative; }
.comm-wa__tag { display: block; font-weight: 800; font-size: .78rem; color: #1f7a5a; margin-bottom: 2px; }
.comm-wa__msg--allarme .comm-wa__tag { color: #c0492f; }
.comm-wa__ora { position: absolute; right: 9px; bottom: 4px; font-size: .6rem; color: #667781; }

/* Numeri */
.comm-numeri { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 18px; text-align: center; }
.comm-numero__big { font-size: 2.1rem; font-weight: 900; color: var(--c-verde); }
.comm-numero h3 { margin: 6px 0 4px; }
.comm-numero p { font-size: .9rem; color: var(--c-soft); margin: 0; }

/* Iscrizione */
.comm-iscriviti { background: linear-gradient(180deg, #f5f8f4 0%, #eef4ee 100%); }
.comm-modulo { max-width: 560px; margin: 0 auto; background: #fff; border: 1px solid var(--c-bordo); border-radius: 18px; box-shadow: var(--c-ombra); padding: 34px 30px; }
.comm-modulo .campo label { font-size: .9rem; font-weight: 700; }

/* FAQ */
.comm-faq { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.comm-faq details { background: #fff; border: 1px solid var(--c-bordo); border-radius: 12px; overflow: hidden; }
.comm-faq summary { list-style: none; cursor: pointer; padding: 18px 20px; font-weight: 700; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.comm-faq summary::-webkit-details-marker { display: none; }
.comm-faq summary::after { content: "+"; color: var(--c-verde); font-weight: 800; font-size: 1.4rem; line-height: 1; }
.comm-faq details[open] summary::after { content: "\2013"; }
.comm-faq__risposta { padding: 0 20px 18px; color: var(--c-soft); font-size: .95rem; }
.comm-faq__risposta a { color: var(--c-verde); font-weight: 600; }

/* Finale e piede */
.comm-finale { background: var(--c-verde-scuro); color: #fff; text-align: center; }
.comm-finale h2 { margin: 0 auto 12px; color: #fff; max-width: 22ch; }
.comm-finale p { color: rgba(255, 255, 255, .85); max-width: 42ch; margin: 0 auto 24px; }
.comm-piede { background: #fff; border-top: 1px solid var(--c-bordo); color: var(--c-soft); font-size: .85rem; padding: 26px 0; }
.comm-piede__riga { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.comm-piede__logo { height: 32px; width: auto; }
.comm-piede a, .comm-piede__prefer { color: var(--c-soft); text-decoration: none; }
.comm-piede__prefer { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-decoration: underline; }
.comm-piede a:hover, .comm-piede__prefer:hover { color: var(--c-verde); }

@media (max-width: 860px) {
  .comm-tasca__griglia { gap: 32px; }
  .comm-wa { order: -1; max-width: 300px; }
  .comm-partners__logo { gap: 22px; }
  .comm-partners__logo img { height: 30px; }
}
@media (max-width: 520px) {
  .comm-sez { padding: 44px 0; }
  .comm-wrap { padding: 0 16px; }
  .comm-modulo { padding: 26px 20px; }
  .comm-card { padding: 24px 18px; }
  .comm-bignum { font-size: clamp(2.1rem, 8.5vw, 3.6rem); letter-spacing: -.045em; }
  .comm-hero h1 { font-size: 1.75rem; max-width: none; }
  .comm-hero--pieno h1 { font-size: 1.7rem; }
  .comm-sub { font-size: .9rem; }
  .comm-hero .comm-cta, .comm-finale .comm-cta { display: block; font-size: 1rem; padding-left: 16px; padding-right: 16px; }
}
@media (prefers-reduced-motion: reduce) { .comm-cta, .comm-partners__logo img { transition: none; } .comm-cta:hover { transform: none; } }

/* ===== /entra e /invita: stessi valori della pagina di oggi (misurati) ===== */
.pagina-invito .comm-hero--pieno, .pagina-invita .comm-hero--pieno { flex-direction: column; }
.pagina-invito .comm-wrap, .pagina-invita .comm-wrap { padding: 0 22px; width: auto; max-width: 560px; }
.pagina-invito .comm-hero--pieno, .pagina-invita .comm-hero--pieno { padding: 44px 0; }
.pagina-invita .comm-hero--pieno { padding: 40px 0; }
.pagina-invito .comm-hero h1, .pagina-invita .comm-hero h1 { max-width: 18ch; margin: 0 0 12px; font-size: clamp(1.7rem, 6vw, 2.3rem); line-height: 1.16; }
.pagina-invita .comm-hero h1 { line-height: 1.18; }
.pagina-invito .comm-sub--grande { font-size: 1.04rem; max-width: 40ch; margin: 0 0 26px; }
.pagina-invita .comm-sub--grande { font-size: 1.02rem; max-width: 40ch; margin: 0 0 28px; }
.pagina-invita .comm-hero--pieno .comm-logo { margin-bottom: 30px; }
.pagina-invito .comm-fiducia { gap: 16px; }
.pagina-invito .comm-card, .pagina-invita .comm-card { padding: 28px 24px; }
.pagina-invita .comm-hero { text-align: center; }
.pagina-invito .comm-card h2 { font-size: 1.3rem; margin-bottom: 6px; line-height: 1.5; letter-spacing: 0; }
.pagina-invito .comm-card__lead { margin-bottom: 22px; line-height: 1.5; }
.pagina-invita .comm-card .campo, .pagina-invita .comm-card .campo { display: block; margin-bottom: 14px; }
.pagina-invita .comm-card .campo label { display: block; font-size: .88rem; font-weight: 700; margin-bottom: 6px; }
.pagina-invita .comm-card .campo input { min-height: 0; border-width: 1px; }
.pagina-invita .comm-cta--blocco { line-height: 1.5; padding: 15px 20px; font-size: 1.05rem; font-weight: 800; margin: 0; }
.pagina-invita .comm-nota { font-size: .82rem; margin-top: 14px; }
.pagina-invita .comm-linkbox { display: flex; align-items: center; gap: 8px; }

/* Modulo di /entra: nell'originale e` il form GHL in un iframe (Inter, campi da 42px, bottone verde) */
.pagina-invito .comm-card .modulo { display: block; background: #fff; border: 1px solid #fff; border-radius: 8px; padding: 16px; box-shadow: 0 4px 4px rgba(87, 100, 126, .21); margin-bottom: 5px; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.pagina-invito .comm-card .modulo .campo { display: block; margin: 0 0 16px; padding: 1px; }
.pagina-invito .comm-card .campo label { display: block; font-size: 1rem; font-weight: 500; line-height: 28.8px; color: #344054; margin: 0 0 8px; }
.pagina-invito .comm-card .campo input { display: block; width: 100%; height: 42px; min-height: 0; padding: 8px; font-size: 1rem; line-height: 24px; color: #101828; background: #fff; border: 1px solid #d0d5dd; border-radius: 6px; box-shadow: 0 1px 2px rgba(16, 24, 40, .05); }
.pagina-invito .comm-card .campo input::placeholder { color: #667085; opacity: 1; }
.pagina-invito .comm-card .campo input:focus { outline: none; border-color: #98a2b3; box-shadow: 0 0 0 3px rgba(152, 162, 179, .2); }
.comm-icona-campo { position: relative; display: flex; }
.comm-icona-campo svg { position: absolute; left: 10px; top: 50%; width: 18px; height: 18px; margin-top: -9px; color: #667085; pointer-events: none; }
.pagina-invito .comm-card .campo .comm-icona-campo input { padding-left: 36px; }
.pagina-invito .comm-card .modulo .comm-cta { display: block; width: 100%; margin: 32px 0 17px; padding: 12px 20px; background: #027a48; color: #fff; border-radius: 8px; font-size: 1.125rem; font-weight: 500; line-height: 36px; box-shadow: 0 1px 2px rgba(0, 0, 0, .08); transform: none; }
.pagina-invito .comm-card .modulo .comm-cta:hover { background: #027a48; }
.pagina-invito .comm-card .modulo .modulo__errore { margin: 0 0 12px; font-size: .875rem; }
.pagina-invito .comm-privacy { font-size: .875rem; line-height: 21px; color: #000; text-align: center; margin: 0 0 16px; padding: 16px 0 1px; }
.pagina-invito .comm-privacy a { color: #0d6efd; font-weight: 400; text-decoration: underline; }

/* Stesso modulo GHL in /community_whatsapp (iframe oggi: 316px, wrapper 471px) */
.comm-modulo .modulo { display: block; background: #fff; border: 1px solid #fff; border-radius: 8px; padding: 16px; box-shadow: 0 4px 4px rgba(87, 100, 126, .21); margin-bottom: 5px; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.comm-modulo .modulo .campo { display: block; margin: 0 0 16px; padding: 1px; }
.comm-modulo .campo label { display: block; font-size: 1rem; font-weight: 500; line-height: 28.8px; color: #344054; margin: 0 0 8px; }
.comm-modulo .campo input { display: block; width: 100%; height: 42px; min-height: 0; padding: 8px; font-size: 1rem; line-height: 24px; color: #101828; background: #fff; border: 1px solid #d0d5dd; border-radius: 6px; box-shadow: 0 1px 2px rgba(16, 24, 40, .05); }
.comm-modulo .campo input::placeholder { color: #667085; opacity: 1; }
.comm-modulo .campo input:focus { outline: none; border-color: #98a2b3; box-shadow: 0 0 0 3px rgba(152, 162, 179, .2); }
.comm-modulo .campo .comm-icona-campo input { padding-left: 36px; }
.comm-modulo .modulo .comm-cta { display: block; width: 100%; margin: 32px 0 17px; padding: 12px 20px; background: #027a48; color: #fff; border-radius: 8px; font-size: 1.125rem; font-weight: 500; line-height: 36px; box-shadow: 0 1px 2px rgba(0, 0, 0, .08); transform: none; }
.comm-modulo .modulo .comm-cta:hover { background: #027a48; }
.comm-modulo .modulo .modulo__errore { margin: 0 0 12px; font-size: .875rem; }
.comm-modulo .modulo { margin-bottom: 5px; min-height: 475px; }
.comm-ghl-privacy { font: 400 .875rem/21px Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #000; text-align: center; margin: 0; padding: 16px 0 1px; }
.comm-ghl-privacy a { color: #0d6efd; text-decoration: underline; }
