/* ── GRIGLIA PRINCIPALE ── */
.newspaper-grid {
  display: grid;
  grid-template-columns: 2fr 1.5fr 1fr;
  grid-template-areas:
    "hero center sidebar";
  gap: 2rem;
  max-width: 1200px;
  margin: 2rem auto;
  padding: 0 1rem;
  border-top: 3px solid #111;
}

.article-hero   { grid-area: hero;    border-right: 1px solid #ddd; padding-right: 2rem; }
.col-center     { grid-area: center;  border-right: 1px solid #ddd; padding: 0 2rem; }
.col-sidebar    { grid-area: sidebar; }

/* ── TIPOGRAFIA STILE GIORNALE ── */
.newspaper-grid h1 { font-family: Georgia, serif; font-size: 2rem; line-height: 1.2; }
.newspaper-grid h2 { font-family: Georgia, serif; font-size: 1.2rem; line-height: 1.3; }
.newspaper-grid h4 { font-family: Georgia, serif; font-size: 1rem; font-weight: bold; }
.newspaper-grid a  { color: #111; text-decoration: none; }
.newspaper-grid a:hover { text-decoration: underline; }

.article-hero img  { width: 100%; margin-bottom: 0.8rem; }
.article-medium img { width: 100%; margin-bottom: 0.5rem; }

.summary { font-size: 1rem; color: #333; line-height: 1.6; }
.meta    { font-size: 0.75rem; color: #888; display: block; margin-top: 0.3rem; }
.label   { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em;
           color: #c00; font-weight: bold; }

.section-title { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em;
                 border-bottom: 2px solid #111; padding-bottom: 0.3rem; margin-bottom: 1rem; }

hr { border: none; border-top: 1px solid #e0e0e0; margin: 1rem 0; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .newspaper-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "hero hero"
      "center sidebar";
  }
}

@media (max-width: 600px) {
  .newspaper-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "hero" "center" "sidebar";
  }
}