/* Lineasoft 2026 — stili dei contenuti nuovi
   Tutto è annidato sotto .ls: non tocca nulla del template acquistato.
   Il font Nunito va caricato una volta sola nel template. */

.ls {
  --ink: #14171c;        /* testo */
  --ink2: #454b55;       /* testo secondario */
  --mut: #6a707a;        /* etichette */
  --line: #e6e3dc;       /* filetti */
  --bg2: #f7f6f3;        /* fascia chiara */
  --bg3: #f7f4ef;        /* fascia calda */
  --dark: #22262b;       /* fascia/riquadro scuro */
  --dark-line: #3a3f47;
  --dark-txt: #b9b6ae;
  --acc: #b4620f;        /* arancione leggibile su chiaro */
  --acc-bright: #f5901e; /* arancione di brand, su fondo scuro */
  --btn: #1f2329;
  --btn-hover: #3a3f47;

  font-family: 'Nunito', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.6;
  text-wrap: pretty;
}

/* reset locale: neutralizza gli stili del template dentro i nostri blocchi */
/* reset a specificità zero: qualunque classe qui sotto lo vince senza !important */
.ls :where(h1, h2, h3, h4) { margin: 0; font-weight: 400; letter-spacing: -.02em; color: var(--ink); line-height: 1.15; }
.ls :where(p, ul, ol) { margin: 0; }
.ls :where(ul) { list-style: none; padding: 0; }
.ls :where(a) { color: var(--acc); text-decoration: none; }
.ls :where(a):hover { color: #8f4c0a; }
.ls :where(img) { max-width: 100%; height: auto; display: block; }
.ls *, .ls *::before, .ls *::after { box-sizing: border-box; }

/* ---------- fasce ---------- */
.ls-band { padding: 64px 0; background: #fff; }
.ls-band--chiara { background: var(--bg2); }
.ls-band--calda { background: var(--bg3); }
.ls-band--scura { background: var(--dark); color: #e8e6e1; }
.ls-band--scura h1, .ls-band--scura h2, .ls-band--scura h3 { color: #fff; }
.ls-band--stretta { padding: 44px 0; }
.ls-inner { max-width: 1140px; margin: 0 auto; padding: 0 15px; }

/* sfondo a tutta larghezza dentro un container Bootstrap.
   Richiede overflow-x: hidden sull'elemento padre (o su body). */
.ls-band--full { width: 100vw; margin-left: calc(50% - 50vw); }

/* ---------- tipografia ---------- */
.ls-occhiello { font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--acc); margin-bottom: 24px; }
.ls-band--scura .ls-occhiello { color: var(--acc-bright); }
.ls-etichetta { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mut); margin-bottom: 12px; }
.ls-h1 { font-size: clamp(34px, 4.2vw, 56px); line-height: 1.06; letter-spacing: -.025em; margin-bottom: 22px; max-width: 18ch; text-wrap: balance; }
.ls-h2 { font-size: clamp(26px, 2.6vw, 34px); letter-spacing: -.02em; margin-bottom: 16px; }
.ls-h3 { font-size: 19px; font-weight: 500; letter-spacing: -.01em; margin-bottom: 10px; }
.ls-claim { font-weight: 300; font-style: italic; font-size: clamp(19px, 2vw, 24px); color: var(--ink2); margin-bottom: 32px; }
.ls-lead { font-size: 18px; line-height: 1.6; max-width: 60ch; color: #2c313a; }
.ls-testo { font-size: 15px; line-height: 1.6; color: var(--ink2); }
.ls-sottotitolo { font-size: 17px; color: var(--mut); max-width: 58ch; margin-bottom: 40px; }
.ls-nota { font-size: 13px; color: var(--mut); }
.ls-band--scura .ls-lead, .ls-band--scura .ls-testo, .ls-band--scura .ls-sottotitolo { color: var(--dark-txt); }

.ls-mb0 { margin-bottom: 0; }
.ls-mb-s { margin-bottom: 20px; }
.ls-mb-m { margin-bottom: 40px; }
.ls-mb-l { margin-bottom: 56px; }

/* ---------- pulsanti e link ---------- */
.ls-azioni { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 36px; }
.ls-btn { display: inline-block; background: var(--btn); color: #fff; padding: 15px 30px; font-size: 15px; font-weight: 600; letter-spacing: .02em; }
.ls-btn:hover { background: var(--btn-hover); color: #fff; }
.ls-btn--chiaro { background: #fff; color: var(--ink); }
.ls-btn--chiaro:hover { background: #f7e3cc; color: var(--ink); }
.ls-link { display: inline-block; padding: 15px 4px; font-size: 15px; color: var(--ink); border-bottom: 1px solid #b8b4ab; }
.ls-link:hover { color: var(--acc); }

/* ---------- griglia a filetti ---------- */
.ls-griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1px; background: transparent; }
.ls-griglia--larga { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.ls-griglia--stretta { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.ls-griglia > * { box-shadow: 0 0 0 1px var(--line); padding: 26px 24px 30px; background: #fff; }
.ls-band--chiara .ls-griglia > *, .ls-band--calda .ls-griglia > * { background: #fff; }
.ls-griglia--filo { border-top: 2px solid var(--ink); padding-top: 1px; }
.ls-card__label { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--acc); margin-bottom: 14px; }
.ls-card__num { font-size: 12px; font-weight: 600; color: var(--acc); margin-bottom: 16px; }
.ls-card--scura { background: var(--dark) !important; box-shadow: none; color: #e8e6e1; }
.ls-card--scura h2, .ls-card--scura h3 { color: #fff; }
.ls-card--scura .ls-testo, .ls-card--scura .ls-lead { color: var(--dark-txt); }
.ls-card--scura .ls-card__label, .ls-card--scura .ls-occhiello { color: var(--acc-bright); }

/* colonne semplici senza filetti */
.ls-colonne { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 34px 44px; }
.ls-colonne--2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 48px; }

/* ---------- fascia di numeri ---------- */
.ls-numeri { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 28px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 28px 0; }
.ls-numeri--filo { border-top: 2px solid var(--ink); border-bottom: 0; padding-bottom: 0; }
.ls-numeri__n { font-size: 34px; font-weight: 300; letter-spacing: -.03em; margin-bottom: 6px; }
.ls-numeri__l { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mut); }
.ls-band--scura .ls-numeri { border-color: var(--dark-line); }
.ls-band--scura .ls-numeri__n { color: #fff; }
.ls-band--scura .ls-numeri__l { color: #8b9098; }

/* ---------- riquadri ---------- */
.ls-riquadro { background: #fff; box-shadow: 0 0 0 1px var(--line); padding: 34px 32px 38px; }
.ls-riquadro--scuro { background: var(--dark); color: #e8e6e1; box-shadow: none; }
.ls-riquadro--scuro h2, .ls-riquadro--scuro h3 { color: #fff; }
.ls-riquadro--scuro .ls-testo, .ls-riquadro--scuro .ls-lead { color: var(--dark-txt); }
.ls-riquadro--caldo { background: var(--bg3); box-shadow: none; }

/* ---------- elenco passi ---------- */
.ls-passi { display: grid; gap: 22px; }
.ls-passo { display: flex; gap: 16px; }
.ls-passo__n { font-size: 12px; font-weight: 600; color: var(--acc); padding-top: 4px; }

/* ---------- segnaposto immagine ---------- */
.ls-media { background: repeating-linear-gradient(135deg, #eceae5 0 8px, #f6f5f2 8px 16px); min-height: 220px; display: flex; align-items: flex-end; padding: 14px; }
.ls-media span { font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #8a867c; }
.ls-band--scura .ls-media { background: repeating-linear-gradient(135deg, #2b3037 0 8px, #23272e 8px 16px); }

@media (max-width: 575px) {
  .ls-band { padding: 44px 0; }
  .ls-griglia > * { padding: 22px 20px 24px; }
}
