/* ICLO — regole specifiche delle singole pagine.
   Tutto ciò che è riutilizzabile sta in components.css / layout.css. */

/* ---------- Home ---------- */
.page-home .locations {
  min-height: 800px;
}

.page-home .locations .split__panel--map,
.page-home .locations__stack {
  min-height: 800px;
}

.page-home .split__panel--map {
  align-items: center;
  justify-content: center;
}

.page-home .locations__panel-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: flex-start;
  padding-left: 0;
}

.page-home .locations__heading {
  padding-left: 0;
}

.page-home .stats {
  display: flex;
  align-items: center;
  min-height: 1075px;
  padding-block: var(--space-2xl);
}

.page-home .stats > .container {
  width: 100%;
}

@media (min-width: 992px) {
  .page-home .locations__panel-inner {
    padding-left: 8%;
  }
}

@media (max-width: 991px) {
  .page-home .locations,
  .page-home .locations .split__panel--map {
    min-height: 400px;
  }

  .page-home .locations__stack {
    min-height: 0;
    grid-template-rows: repeat(2, 360px);
  }
}

.page-home .split .split__panel--lavender,
.page-home .split .split__media {
  min-height: 800px;
}

.page-home .split__panel--lavender > * {
  max-width: clamp(22rem, 94%, 56rem);
}

.page-home .courses-section,
.page-training .courses-section {
  display: flex;
  align-items: center;
  min-height: 800px;
}

.page-home .courses-section > .container,
.page-training .courses-section > .container {
  width: 100%;
}

/* ---------- Corsi ---------- */
.page-courses .course-filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  padding-block: var(--space-m);
  border-top: 1px solid var(--color-border-light);
  border-bottom: 1px solid var(--color-border-light);
}

.page-courses .course-filters__button {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  min-height: 2.375rem;
  padding: 0 var(--space-s);
  border: 1px solid var(--color-border);
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-blue);
  background-color: var(--color-white);
  transition: border-color var(--transition), background-color var(--transition),
    color var(--transition);
}

.page-courses .course-filters__button:hover {
  border-color: var(--color-blue);
}

.page-courses .course-filters__button[aria-pressed="true"] {
  background-color: var(--color-blue);
  border-color: var(--color-blue);
  color: var(--color-white);
}

.page-courses .course-filters__dot {
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 auto;
  background-color: var(--course-color, var(--color-orange));
}

.page-courses .course-row {
  display: grid;
  gap: var(--space-s) var(--space-l);
  grid-template-columns: minmax(0, 1fr);
  padding-block: var(--space-l);
  border-bottom: 1px solid var(--color-border-light);
  border-left: 2px solid var(--course-color, var(--color-blue));
  padding-left: var(--space-m);
}

.page-courses .course-row[hidden] {
  display: none;
}

.page-courses .course-row__date {
  font-size: 1.75rem;
  font-weight: var(--fw-bold);
  line-height: 1;
  letter-spacing: -0.02em;
}

.page-courses .course-row__month {
  display: block;
  margin-top: var(--space-3xs);
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-text-soft);
}

.page-courses .course-row__title {
  font-size: var(--fs-h4);
  font-weight: var(--fw-bold);
}

.page-courses .course-row__meta {
  margin-top: var(--space-2xs);
  font-size: var(--fs-small);
  font-weight: var(--fw-light);
  color: var(--color-text-muted);
}

.page-courses .course-row__status {
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-blue);
}

.page-courses .course-row__status--last {
  color: var(--color-orange);
}

.page-courses .course-row__status--soon {
  color: var(--color-grey);
}

.page-courses .course-row__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
}

@media (min-width: 768px) {
  .page-courses .course-row {
    grid-template-columns: 6rem minmax(0, 1fr);
    align-items: start;
  }
}

@media (min-width: 1200px) {
  .page-courses .course-row {
    grid-template-columns: 6rem 12rem minmax(0, 1fr) 11rem;
    align-items: center;
  }

  .page-courses .course-row__actions {
    align-items: flex-end;
    text-align: right;
  }
}


/* ---------- Chi siamo ---------- */
.page-about .hero__title--static {
  font-size: var(--fs-display);
  line-height: 1;
  letter-spacing: -0.03em;
}

.page-about .hero__inner {
  display: block;
}

.page-about .hero__title--static {
  margin-top: var(--space-s);
  max-width: 18ch;
}

.page-about .hero__grid {
  display: grid;
  gap: var(--space-l);
  grid-template-columns: minmax(0, 1fr);
  margin-top: var(--space-2xl);
  padding-top: var(--space-l);
  border-top: 1px solid var(--color-border-on-dark);
}

.page-about .hero__lead {
  max-width: 34ch;
  margin-top: 0;
}

.page-about .hero__note {
  max-width: 44ch;
  margin: 0;
}

.page-about .hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-l);
  margin-top: var(--space-xl);
}

@media (min-width: 992px) {
  .page-about .hero__actions {
    flex-wrap: nowrap;
    gap: var(--space-3xl);
    white-space: nowrap;
  }
}

.page-about .locations__panel-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: flex-start;
  padding-left: 0;
}

@media (min-width: 992px) {
  .page-about .locations__panel-inner {
    padding-left: 8%;
  }
}

@media (min-width: 992px) {
  .page-about .hero__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: var(--space-3xl);
    align-items: start;
  }

  .page-about .hero__note {
    padding-top: var(--space-2xs);
    grid-column: 2;
  }
}

.page-about .stats .section__title,
.page-about .section--dark .section__title {
  color: var(--color-white);
}

.page-about .stats {
  padding-block: var(--space-3xl);
}

.page-about .locations .split__panel--map,
.page-about .locations__stack {
  min-height: 720px;
}

@media (max-width: 991px) {
  .page-about .locations,
  .page-about .locations .split__panel--map {
    min-height: 400px;
  }

  .page-about .locations__stack {
    min-height: 0;
    grid-template-rows: repeat(2, 360px);
  }
}

.page-about .split .split__panel--lavender,
.page-about .split .split__media {
  min-height: 620px;
}

.page-services .split .split__panel--lavender,
.page-services .split .split__media {
  min-height: 800px;
}

.page-services .split__panel--lavender > * {
  max-width: clamp(22rem, 94%, 56rem);
}


/* ---------- Attrezzature ---------- */
.page-equipment .split .split__panel--lavender,
.page-equipment .split .split__media {
  min-height: 680px;
}

.page-equipment .split__panel--lavender > * {
  max-width: clamp(22rem, 94%, 56rem);
}


/* ---------- Contatti ---------- */
.page-contact .split .split__panel--lavender,
.page-contatti .split .split__panel--lavender,
.page-contact .split .split__media,
.page-contatti .split .split__media {
  min-height: 680px;
}

.page-contact .split__panel--lavender > *,
.page-contatti .split__panel--lavender > * {
  max-width: clamp(22rem, 94%, 56rem);
}

/* il form apre la pagina: serve aria sotto l'header trasparente */
.page-contact .contact-hero,
.page-contatti .contact-hero {
  padding-top: calc(var(--space-4xl) + 9rem);
}


/* Formazione: blocco collaborazioni alla stessa scala delle altre sezioni */
.page-training .split .split__panel--lavender,
.page-formazione .split .split__panel--lavender,
.page-training .split .split__media,
.page-formazione .split .split__media {
  min-height: 800px;
}

.page-training .split__panel--lavender > *,
.page-formazione .split__panel--lavender > * {
  max-width: clamp(22rem, 94%, 56rem);
}
