/* ==========================================================
   Chicos Y Chicas 4.0.4
   Distanza uniforme e ridotta sotto il menu + pagina Eventi
   ========================================================== */

:root {
  --cyc-page-menu-gap: clamp(20px, 2.2vw, 30px);
}

/*
 * Tutte le pagine interne iniziano alla stessa distanza dal menu.
 * La home resta invariata. Si elimina il margine superiore duplicato
 * introdotto dai vecchi fogli e si riduce il padding del primo blocco.
 */
body.cyc-body:not(.is-front) .cyc-main > :first-child {
  margin-top: 0 !important;
}

body.cyc-body:not(.is-front) .cyc-main > .cyc-page-hero:first-child {
  padding-top: var(--cyc-page-menu-gap) !important;
}

body.cyc-body:not(.is-front) .cyc-main > :first-child:not(.cyc-page-hero) {
  padding-top: var(--cyc-page-menu-gap) !important;
}

/* Pagina Eventi: stessa griglia, tipografia e proporzioni delle altre card. */
.events-page-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  padding-top: clamp(38px, 5vw, 60px) !important;
  padding-bottom: clamp(64px, 8vw, 90px) !important;
}

.events-page-grid article {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--cyc-border, var(--line));
  border-radius: var(--cyc-radius, var(--radius));
  background: var(--cyc-surface, #fff);
  box-shadow: var(--shadow-sm);
}

.events-page-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.events-page-grid .date {
  font-family: var(--cyc-font-body, var(--body));
}

.events-page-grid .date b {
  font-family: var(--cyc-font-heading, var(--body));
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

.events-page-grid .date span {
  font-family: var(--cyc-font-body, var(--body));
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

.events-page-grid h2 {
  margin: 0;
  padding: 20px 20px 6px;
  font-family: var(--cyc-font-heading, var(--body));
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-transform: none;
}

.events-page-grid p {
  margin: 0;
  padding: 0 20px 22px;
  color: var(--cyc-muted, var(--muted));
  font-family: var(--cyc-font-body, var(--body));
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
}

@media (max-width: 900px) {
  :root {
    --cyc-page-menu-gap: 18px;
  }

  .events-page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (max-width: 600px) {
  :root {
    --cyc-page-menu-gap: 14px;
  }

  .events-page-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding-top: 30px !important;
    padding-bottom: 58px !important;
  }

  .events-page-grid h2 {
    font-size: 19px;
  }

  .events-page-grid p {
    font-size: 14px;
  }
}
