/* ================================================================
   GOOGLE FONTS IMPORT
   Modifica qui per aggiungere/rimuovere famiglie di font.
================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Bricolage+Grotesque:wght@400;600;700&family=Source+Code+Pro:wght@400;700&family=Sirin+Stencil&family=Monoton&family=Reenie+Beanie&family=Dancing+Script:wght@700&family=Montserrat+Alternates:wght@400;500;600;700&display=swap');

/* ================================================================
   FONT LEGEND
   ─────────────────────────────────────────────────────────────
   Space Grotesk         → titolo hero, titolo articolo, card title
   Bricolage Grotesque   → body, sottotitolo, h2 (sezione), heading "Articoli"
   Sirin Stencil         → tag, data split-flap
   Source Code Pro       → code, pre
   Monoton               → bold/strong (colorato)
   Reenie Beanie         → blockquote / citazione
   Dancing Script        → neon title flicker (lettera che blinks cambia font)
   Montserrat Alternates → form inputs admin
================================================================ */

/* ================================================================
   FONT VARIABLES
================================================================ */
:root {
  --font-main:  'Space Grotesk', sans-serif;
  --font-body:  'Bricolage Grotesque', sans-serif;
  --font-code:  'Source Code Pro', monospace;
  --font-tag:   'Sirin Stencil', serif;
  --font-ui:    'Montserrat Alternates', sans-serif;
  --font-bold:  'Monoton', sans-serif;
  --font-quote: 'Reenie Beanie', cursive;
}

/* ================================================================
   BASE TEXT
================================================================ */
body {
  font-family: var(--font-body);
}

strong, b {
  font-family: var(--font-bold);
  font-weight: 400;
  color: var(--pink);
}

/* ================================================================
   HEADER
================================================================ */
.header-nav a {
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* ================================================================
   HERO
================================================================ */
.neon-title {
  font-family: var(--font-main);
  font-size: clamp(3rem, 9vw, 7.5rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 3px rgba(255, 255, 255, 0.6),
    0 0 10px rgba(255, 255, 255, 0.15),
    0 0 28px rgba(255, 45, 120, 0.3),
    0 0 55px rgba(255, 45, 120, 0.12);
}

.neon-title .nl {
  transition: opacity 0.06s, text-shadow 0.06s;
}

.neon-title .nl.flicker {
  text-shadow: none;
  font-family: 'Dancing Script', cursive;
  text-transform: uppercase;
}

.hero-subtitle {
  font-family: var(--font-body);
  font-size: clamp(0.9rem, 2vw, 1.05rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

/* ================================================================
   ARTICLES SECTION
================================================================ */
.section-title {
  font-family: var(--font-body);
  font-size: 1.3rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* ================================================================
   ARTICLE CARD
================================================================ */
.card-date {
  font-family: var(--font-tag);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.card-title {
  font-family: var(--font-main);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}

.card-excerpt {
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.65;
}

/* ================================================================
   TAGS
================================================================ */
.tag {
  font-family: var(--font-tag);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: left;
}

/* ================================================================
   FOOTER
================================================================ */
footer {
  font-family: var(--font-body);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
}

/* ================================================================
   CALENDAR DATE  (usa stesso font dei tag)
================================================================ */
.calendar-display {
  font-family: var(--font-tag);
}

.cal-segment {
  font-size: 0.92rem;
  letter-spacing: 0.06em;
  color: var(--pink);
  text-shadow: 0 0 12px rgba(255, 45, 120, 0.7);
}

/* ================================================================
   TAG FILTER
================================================================ */
.tag-filter {
  font-family: var(--font-body);
  font-size: 0.78rem;
}

/* ================================================================
   SHOW PAGE – ARTICLE TITLE
================================================================ */
.article-title {
  font-family: var(--font-main);
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

/* ================================================================
   SHOW PAGE – ARTICLE CONTENT
================================================================ */
.article-content {
  font-family: var(--font-body);
  font-size: 1.05rem;
  line-height: 1.8;
}

.article-content p {
  margin-bottom: 1.5rem;
}

.article-content p:last-child {
  margin-bottom: 0;
}

/* Italic → lettere ruotate, non font italic vero */
.article-content em {
  font-style: normal;
}

.article-content em .rl {
  display: inline-block;
  transform: rotate(7deg);
  transform-origin: center bottom;
}

/* Bold → Monoton colorato */
.article-content strong,
.article-content b {
  font-family: var(--font-bold);
  font-weight: 400;
  color: var(--pink);
}

/* H2 → sezione/paragrafo, margine sopra, normale sotto */
.article-content h2 {
  font-family: var(--font-body);
  font-size: 1.15rem;
  font-weight: 600;
  margin-top: 2.5rem;
  margin-bottom: 0.5rem;
}

/* Code → Source Code Pro */
.article-content code {
  font-family: var(--font-code);
  font-size: 0.82em;
}

.article-content pre code {
  font-size: 0.85em;
  line-height: 1.7;
}

/* Blockquote / citazione → Reenie Beanie */
.article-content blockquote {
  font-family: var(--font-quote);
  font-size: 1.4em;
  font-style: normal;
  line-height: 1.5;
}

/* ================================================================
   EMPTY STATE
================================================================ */
.empty-state {
  font-family: var(--font-body);
  font-size: 0.9rem;
}

/* ================================================================
   RESPONSIVE
================================================================ */
@media (max-width: 768px) {
  .neon-title {
    font-size: clamp(2.2rem, 12vw, 3.5rem);
  }

  .cal-segment {
    font-size: 0.7rem;
  }
}
