@import url("../board/site.css");
/* Sito pubblico (index, features, pricing, contact, terms): intestazione, piè di pagina e parti comuni.
   Le misure vengono da board/site.css (tavole). Richiede ttm.css. */

/* ---------- Intestazione e piè di pagina ----------
   Il markup usa le classi s-… di board/site.css (estratte dalle tavole). Qui solo gli stati che le tavole non mostrano. */
/* le tavole usano il box-sizing predefinito (content-box): lo garantiamo dentro intestazione e piè di pagina anche se style.css lo cambia */
/* Loghi forniti dall'utente (1004x650 con margine trasparente): il riquadro resta alto 30px (intestazione) e 36px (piè di pagina) come nelle tavole, il segno è centrato con margini negativi */
.ttm-logo-hdr { height: 78px !important; width: auto !important; margin: -17px 20px -31px -4px !important; }
.ttm-logo-ftr { height: 85px !important; width: auto !important; margin: -23px 0 -26px -32px !important; }
[data-ttm-sitehdr], [data-ttm-sitehdr] *, [data-ttm-sitefoot], [data-ttm-sitefoot] * { box-sizing: content-box; }
.ttm-burger { display: none; cursor: pointer; }
.ttm-burger:focus-visible, [data-ttm-lang]:focus-visible { outline: 3px solid var(--ttm-cacao); outline-offset: 2px; }
[data-ttm-lang] { cursor: pointer; }
.ttm-navlinks a:hover { color: var(--ttm-menu-a) !important; }
.ttm-navlinks a:focus-visible, [data-ttm-sitehdr] a:focus-visible { outline: 3px solid var(--ttm-cacao); outline-offset: 2px; }
footer a:hover { color: var(--ttm-menu-a) !important; }
@media (max-width: 900px) {
  .ttm-navlinks, [data-ttm-sitehdr] .ttm-hide-sm { display: none !important; }
  .ttm-burger { display: flex !important; }
}
@media (min-width: 901px) { .ttm-mnav { display: none !important; } }

/* selettore lingua IT|EN (menu su telefono, intestazione dell'accesso) */
.ttm-lang { display: inline-flex; gap: 2px; padding: 3px; background: var(--ttm-farina); border-radius: 999px; }
.ttm-lang a {
  min-width: 44px; height: 38px; padding: 0 10px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none; font: 700 14px/1 var(--ttm-testo); color: var(--ttm-cacao-3);
}
.ttm-lang a[aria-current="true"] { background: var(--ttm-bianco); color: var(--ttm-cacao); box-shadow: 0 4px 10px -6px rgba(110, 50, 20, .4); }
.ttm-lang--hdr a { min-width: 40px; }
.ttm-lang a:not([aria-current="true"]):hover { color: var(--ttm-cacao); }

/* pannello del menu (aperto dal burger) */
.ttm-mnav {
  margin-top: 8px; background: var(--ttm-bianco); border-radius: 28px; padding: 12px; box-shadow: var(--ttm-ombra-pop);
  display: flex; flex-direction: column; gap: 4px;
}
.ttm-mnav[hidden] { display: none; }
.ttm-mnav > a { text-decoration: none; color: var(--ttm-cacao); font: 700 18px/1.2 var(--ttm-testo); padding: 16px 18px; border-radius: 18px; min-height: 52px; }
.ttm-mnav > a[aria-current="page"] { background: var(--ttm-farina); }
.ttm-mnav__row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 8px 6px 4px; }
.ttm-mnav__row .ttm-btn { flex: 1 1 140px; }

/* ---------- Parti comuni delle pagine di marketing: fatturazione, domande frequenti, enfasi ---------- */
.ttm-bill { font: 600 15px/1 var(--ttm-testo); border: 0; background: transparent; color: var(--ttm-cacao-2); border-radius: 999px; padding: 11px 18px; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.ttm-bill.is-on { background: #fff; color: var(--ttm-cacao); font-weight: 700; padding: 11px 22px; box-shadow: 0 6px 14px -8px rgba(110, 50, 20, .4); }
.ttm-bill:focus-visible { outline: 3px solid var(--ttm-cacao); outline-offset: 2px; }
.ttm-bill__save { background: var(--ttm-amico); color: var(--ttm-amico-t); border-radius: 999px; padding: 3px 8px; font-size: 12px; font-weight: 700; }
.ttm-faq { background: #fff; border-radius: 18px; overflow: hidden; }
.ttm-faq__q { width: 100%; font: 700 16px/1.35 var(--ttm-testo); border: 0; background: transparent; color: var(--ttm-cacao); padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; gap: 12px; text-align: left; cursor: pointer; min-height: 52px; }
.ttm-faq__q:focus-visible { outline: 3px solid var(--ttm-cacao); outline-offset: -3px; border-radius: 18px; }
.ttm-faq__chev { display: flex; color: var(--ttm-cacao-3); transition: transform .15s ease; flex: none; }
.ttm-faq.is-open .ttm-faq__chev { color: #C2330C; transform: rotate(180deg); }
.ttm-faq__a { margin: 0; padding: 0 18px 16px; font-size: 15px; line-height: 1.5; color: var(--ttm-cacao-2); }
.ttm-faq__a[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .ttm-faq__chev { transition: none; } }
/* enfasi dentro i testi tradotti */
.ttm-strong { color: var(--ttm-cacao); font-weight: 700; }
.ttm-strong-g { color: #17402A; font-weight: 700; }

/* pagine pubbliche migrate (body.pg-…): le tavole non hanno il riempimento predefinito dei bottoni (burger 44x44) */
body[class*="pg-"] button { padding: 0; font-family: inherit; }
