/* ============================================================
   InvestFood Tech — Banner consenso e pagine legali
   ============================================================ */

/* ---------- Banner consenso -------------------------------- */

.consent {
  position: fixed;
  left: var(--gutter);
  right: var(--gutter);
  bottom: 20px;
  z-index: 150;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 28px;
  max-width: 900px;
  margin-inline: auto;
  padding: 22px 26px;
  border-radius: var(--r-panel);
  border: 1px solid var(--hairline-2);
  background: rgba(25, 25, 25, .96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: var(--shadow-pill), var(--glow-signal);
  opacity: 0;
  translate: 0 20px;
  transition: opacity var(--dur-slow) var(--ease-out), translate var(--dur-slow) var(--ease-out);
}

.consent.is-in { opacity: 1; translate: 0 0; }

.consent__body { flex: 1 1 380px; }

.consent__title {
  margin-bottom: 6px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--text);
}

.consent__text {
  font-size: .85rem;
  line-height: 1.55;
  color: var(--text-3);
  max-width: 62ch;
}

.consent__text a { color: var(--signal); text-decoration: underline; text-underline-offset: 3px; }

/* Rifiutare deve costare quanto accettare: stessa dimensione, stessa fila */
.consent__actions { display: flex; flex-wrap: wrap; gap: 10px; }

@media (max-width: 620px) {
  .consent { padding: 20px; bottom: 12px; }
  .consent__actions { width: 100%; }
  .consent__actions .btn { flex: 1 1 auto; }
}

/* ---------- Pagine legali ---------------------------------- */

.legal { padding-block: clamp(120px, 15vw, 170px) clamp(64px, 8vw, 100px); }

.legal__wrap { max-width: 760px; }

.legal__updated {
  display: inline-block;
  margin-top: 18px;
  font-size: .8rem;
  color: var(--text-4);
}

.legal__body { margin-top: clamp(36px, 5vw, 52px); }

.legal__body h2 {
  margin: clamp(36px, 4vw, 52px) 0 14px;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--text);
}

.legal__body h3 {
  margin: 26px 0 10px;
  font-size: 1rem;
  font-weight: 700;
  color: var(--text);
}

.legal__body p,
.legal__body li {
  font-size: .95rem;
  line-height: 1.7;
  color: var(--text-2);
}

.legal__body p { margin-bottom: 14px; }

.legal__body ul { margin: 0 0 18px; display: grid; gap: 9px; }

.legal__body li { position: relative; padding-left: 22px; }

.legal__body li::before {
  content: '';
  position: absolute;
  left: 4px;
  top: .72em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--signal);
}

.legal__body a { color: var(--signal); text-decoration: underline; text-underline-offset: 3px; }

.legal__body strong { color: var(--text); font-weight: 700; }

/* Campo da completare prima della pubblicazione */
.legal__todo {
  padding: 2px 8px;
  border-radius: 6px;
  border: 1px dashed rgba(112, 132, 255, .5);
  background: rgba(112, 132, 255, .1);
  color: var(--signal);
  font-size: .88em;
}

.legal__table {
  width: 100%;
  margin-bottom: 20px;
  border-collapse: collapse;
  font-size: .88rem;
}

.legal__table th,
.legal__table td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--hairline);
  color: var(--text-2);
  vertical-align: top;
}

.legal__table th { color: var(--text); font-weight: 700; }

.legal__wrapper { overflow-x: auto; }
