/* memecoin-launchpad — impaginazione. Tutti i numeri vengono da valori.css. */
* { box-sizing: border-box; }
picture { display: contents; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0; background: var(--fondo); color: var(--testo);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: var(--txt-m); line-height: var(--riga-corpo); -webkit-font-smoothing: antialiased;
}
h1, h2, h3 { margin: 0; line-height: var(--riga-titolo); letter-spacing: -0.015em; }
p { margin: 0 0 var(--sp-4); max-width: var(--misura); }
img { max-width: 100%; }
a { color: var(--accento); }
:focus-visible { outline: 3px solid var(--accento); outline-offset: 3px; border-radius: var(--raggio-1); }

.contenitore { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 var(--sp-4); }
.salta { position: absolute; left: -9999px; }
.salta:focus { left: var(--sp-4); top: var(--sp-4); z-index: 10; background: var(--accento); color: var(--accento-scuro); padding: var(--sp-3) var(--sp-4); border-radius: var(--raggio-1); }

.bottone {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2);
  min-height: 44px; padding: var(--sp-3) var(--sp-6);
  background: var(--accento); color: var(--accento-scuro);
  font: inherit; font-weight: 800; text-decoration: none;
  border: 0; border-radius: var(--raggio-tondo); cursor: pointer;
  box-shadow: var(--alone-bottone);
  transition: transform var(--mov-stato) ease, box-shadow var(--mov-stato) ease;
}
.bottone:hover, .bottone:focus-visible { transform: translateY(-2px); box-shadow: var(--alone-bottone-forte); }
.bottone--grande { padding: var(--sp-4) var(--sp-8); font-size: var(--txt-l); }
.bottone--vuoto { background: transparent; color: var(--testo); border: 1px solid var(--bordo-forte); box-shadow: none; }
.bottone--vuoto:hover, .bottone--vuoto:focus-visible { border-color: var(--accento); color: var(--accento); box-shadow: 0 0 24px rgba(70, 224, 176, .22); }
.bottone[aria-disabled="true"] { pointer-events: none; opacity: .55; }

.testata { position: sticky; top: 0; z-index: 5; background: rgba(8, 10, 16, .85); backdrop-filter: blur(12px); border-bottom: 1px solid var(--bordo-tenue); }
.testata::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: linear-gradient(90deg, transparent, var(--accento), transparent); opacity: .6; pointer-events: none; }
.testata__dentro { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3); min-height: 64px; padding-top: var(--sp-2); padding-bottom: var(--sp-2); }
.marchio { margin: 0; font-size: var(--txt-s); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.apertura { position: relative; overflow: hidden; border-bottom: 1px solid var(--bordo-tenue); }
.apertura::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--superficie-1), var(--fondo)); }
.apertura::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 80% 12%, var(--alone-accento), transparent 58%); pointer-events: none; }
.apertura__dentro { position: relative; padding: var(--sp-8) var(--sp-4) var(--sp-9); }
.occhiello { display: flex; align-items: center; gap: var(--sp-2); margin: 0 0 var(--sp-3); font-size: var(--txt-xs); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--accento); }
.occhiello::before { content: ""; width: var(--sp-5); height: 2px; background: var(--accento); box-shadow: 0 0 12px rgba(70, 224, 176, .8); }
.apertura h1 { font-size: var(--txt-display); line-height: var(--riga-aperta); font-weight: 800; margin-bottom: var(--sp-5); }
.apertura h1 em { font-style: normal; color: var(--accento); }
.sommario { font-size: var(--txt-l); color: var(--testo-tenue); margin-bottom: var(--sp-6); }
.nota { margin: var(--sp-4) 0 0; font-size: var(--txt-xs); color: var(--testo-tenue); }

.sezione { padding: var(--sp-8) 0; border-bottom: 1px solid var(--bordo-tenue); }
.sezione h2 { font-size: var(--txt-xl); font-weight: 800; margin-bottom: var(--sp-4); }
.sezione__intro { font-size: var(--txt-l); color: var(--testo-tenue); }

.griglia { display: grid; gap: var(--sp-5); margin-top: var(--sp-6); }
.promessa { padding: var(--sp-5); background: var(--superficie-1); border: 1px solid var(--bordo-forte); border-radius: var(--raggio-2); }
.promessa h3 { font-size: var(--txt-l); font-weight: 700; margin-bottom: var(--sp-2); }
.promessa p { margin: 0; font-size: var(--txt-s); color: var(--testo-tenue); }
.promessa__segno { display: inline-block; margin-bottom: var(--sp-3); font-size: var(--txt-xs); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--accento); }
.promessa__segno--no { color: var(--allarme); }

.modulo { margin-top: var(--sp-6); padding: var(--sp-6); max-width: var(--misura); background: var(--superficie-1); border: 1px solid var(--bordo-forte); border-radius: var(--raggio-2); }
.campo { margin-bottom: var(--sp-5); }
.campo__etichetta { display: block; margin-bottom: var(--sp-2); font-size: var(--txt-xs); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--testo-tenue); }
.campo input, .campo textarea {
  width: 100%; min-height: 44px; padding: var(--sp-3) var(--sp-4);
  background: var(--superficie-2); color: var(--testo);
  border: 1px solid var(--bordo-forte); border-radius: var(--raggio-1);
  font: inherit;
}
.campo__aiuto { margin: var(--sp-2) 0 0; font-size: var(--txt-xs); color: var(--testo-tenue); }
.chiuso { margin-bottom: var(--sp-5); padding: var(--sp-4) var(--sp-5); background: var(--superficie-2); border: 1px solid var(--bordo-tenue); border-left: 2px solid var(--allarme); border-radius: var(--raggio-1); }
.chiuso p { margin: 0; font-size: var(--txt-s); color: var(--testo-tenue); }
.chiuso strong { color: var(--testo); }
.avviso { margin: var(--sp-5) 0 0; padding: var(--sp-4) var(--sp-5); background: var(--superficie-2); border: 1px solid var(--bordo-forte); border-radius: var(--raggio-1); font-size: var(--txt-s); color: var(--testo-tenue); }

.piede { padding: var(--sp-7) 0 var(--sp-8); }
.piede__dentro { display: flex; flex-wrap: wrap; gap: var(--sp-4); align-items: center; justify-content: space-between; font-size: var(--txt-s); color: var(--testo-tenue); }
.piede p { margin: 0; }

@media (min-width: 768px) {
  .contenitore { padding: 0 var(--sp-6); }
  .apertura__dentro { padding: var(--sp-9) var(--sp-6); }
  .griglia { grid-template-columns: repeat(2, 1fr); }
  .sezione { padding: var(--sp-9) 0; }
}
@media (min-width: 1280px) {
  .griglia { grid-template-columns: repeat(3, 1fr); }
  .sezione { padding: var(--sp-10) 0; }
}
@media (max-width: 767px) {
  .bottone--grande { width: 100%; padding: var(--sp-4) var(--sp-5); font-size: var(--txt-m); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .bottone:hover { transform: none; }
}
