/* ===========================================================================
   FruitMC — le pagine di una singola modalita' (/fruitsmp, /skygens,
   /oneblock, /sandbox).

   Sono HTML statico, non l'app React: nascono cosi apposta. La home e' una
   SPA e il suo testo esiste solo dopo che il JavaScript ha girato; queste
   invece hanno il contenuto gia' dentro la pagina, quindi le legge chiunque —
   Googlebot al primo passaggio, le server list, le anteprime dei social.
   Sono le pagine su cui il sito puo' davvero posizionarsi per "skyblock ita",
   "oneblock italiano" e simili.

   Le primitive (colori, .btn, .chip, .sec-head, intestazione, pie' di pagina)
   arrivano da pagina-5.css: qui c'e' solo cio' che e' di queste pagine.
   Si generano con `node build-modalita.mjs`.
   =========================================================================== */

/* ── testata della pagina ────────────────────────────────────────────────── */
.md-hero {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 16px;
  padding: 54px 0 42px;
}
.md-hero .md-logo { width: min(420px, 78vw); height: auto; }
.md-h1 { margin: 0; font-size: clamp(2.1rem, 6vw, 3.4rem); }
.md-lead {
  margin: 0;
  max-width: 60ch;
  font-size: 1.08rem;
  font-weight: 600;
  color: var(--ink-soft);
  line-height: 1.65;
}
.md-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 6px; }

/* Il cartellino dell'IP: stesso oggetto della home, in HTML puro. Il tasto
   copia lo aggancia pagina-1.js con la classe .js-copy. */
.md-ip {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  padding: 12px 20px 12px 14px;
  border: var(--bd);
  border-radius: 6px 16px 16px 6px;
  background: linear-gradient(180deg, var(--card), var(--card-2));
  box-shadow: var(--hard);
  cursor: pointer;
  text-align: left;
}
.md-ip:hover { transform: translateY(-3px) rotate(-0.6deg); box-shadow: 0 9px 0 rgba(74, 33, 16, 0.26); }
.md-ip img { width: 38px; height: 38px; flex: none; }
.md-ip b { display: block; font-family: 'MinecraftTen', 'Outfit', sans-serif; font-size: 1.35rem; font-weight: 400; color: var(--straw); line-height: 1; }
.md-ip small { display: block; margin-top: 5px; font-size: 0.78rem; font-weight: 800; color: var(--ink-faint); }
.md-ip svg { width: 20px; height: 20px; flex: none; color: var(--ink-faint); }

/* ── sezioni di contenuto ───────────────────────────────────────────────── */
.md-sec { padding: 46px 0; }
.md-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.md-card {
  padding: 24px 22px 22px;
  border: var(--bd);
  border-radius: var(--r);
  background: var(--card);
  box-shadow: var(--hard);
}
.md-card h3 { margin: 12px 0 8px; font-size: 1.24rem; }
.md-card p { margin: 0; font-weight: 600; color: var(--ink-soft); line-height: 1.6; }
.md-card-ico {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 2px solid var(--choco);
  border-radius: 12px;
  background: var(--card-2);
  box-shadow: var(--hard-sm);
}
.md-card-ico img { width: 26px; height: 26px; }
.md-card.t-straw .md-card-ico { background: linear-gradient(180deg, #ff6a4a, var(--straw)); }
.md-card.t-leaf .md-card-ico { background: linear-gradient(180deg, #48cd6c, var(--leaf-deep)); }
.md-card.t-tang .md-card-ico { background: linear-gradient(180deg, var(--lemon), var(--tang)); }
.md-card.t-grape .md-card-ico { background: linear-gradient(180deg, #b06bee, var(--grape)); }
.md-card.t-blue .md-card-ico { background: linear-gradient(180deg, #56b8f5, var(--blue)); }

/* ── come si entra ──────────────────────────────────────────────────────── */
.md-join {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  padding: 26px;
  border: var(--bd);
  border-radius: var(--r-lg);
  background: var(--card);
  box-shadow: var(--hard-lg);
}
.md-join h3 { margin: 0 0 12px; font-size: 1.2rem; }
.md-steps { margin: 0; padding-left: 22px; font-weight: 600; color: var(--ink-soft); line-height: 1.9; }
.md-steps b { color: var(--ink); }

/* ── domande frequenti ──────────────────────────────────────────────────────
   <details>/<summary>: si aprono senza una riga di JavaScript, e il testo
   della risposta e' nell'HTML anche da chiusi, quindi resta indicizzabile. */
.md-faq { display: grid; gap: 12px; max-width: 820px; margin-inline: auto; }
.md-faq details {
  border: var(--bd);
  border-radius: var(--r);
  background: var(--card);
  box-shadow: var(--hard-sm);
  overflow: hidden;
}
.md-faq summary {
  padding: 17px 20px;
  font-weight: 900;
  font-size: 1.03rem;
  cursor: pointer;
  list-style: none;
}
.md-faq summary::-webkit-details-marker { display: none; }
.md-faq summary::after { content: '+'; float: right; font-size: 1.4rem; line-height: 1; color: var(--straw); }
.md-faq details[open] summary::after { content: '−'; }
.md-faq p { margin: 0; padding: 0 20px 18px; font-weight: 600; color: var(--ink-soft); line-height: 1.65; }

/* ── le altre modalita' ─────────────────────────────────────────────────────
   Collegamenti veri fra una scheda e l'altra: e' cosi che le pagine si
   passano autorevolezza invece di restare quattro isole scollegate. */
.md-altre { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.md-altra {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border: var(--bd);
  border-radius: var(--r);
  background: var(--card);
  box-shadow: var(--hard-sm);
  font-weight: 900;
  transition: transform 0.14s ease, box-shadow 0.14s ease;
}
.md-altra:hover { transform: translateY(-3px); box-shadow: var(--hard); }
.md-altra img { width: 26px; height: 26px; flex: none; }
.md-altra small { display: block; margin-top: 3px; font-size: 0.8rem; font-weight: 600; color: var(--ink-faint); }

/* ── briciole di pane ───────────────────────────────────────────────────────
   I collegamenti sono `inline-block` con imbottitura verticale: il testo e'
   alto 18px e da fermo sarebbe un bersaglio da 18px, sotto la soglia dei 40
   che chiede `check-mobile.mjs`. Cosi restano in riga ma si toccano. */
.md-bread { padding: 6px 0 0; font-size: 0.86rem; font-weight: 700; color: var(--ink-faint); }
.md-bread a {
  display: inline-block;
  padding: 12px 4px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.md-bread a:hover { color: var(--straw); }

@media (max-width: 900px) {
  .md-grid { grid-template-columns: repeat(2, 1fr); }
  .md-altre { grid-template-columns: 1fr; }
  .md-join { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .md-grid { grid-template-columns: 1fr; }
  .md-hero { padding: 34px 0 30px; }
}
