/* sections/hero-programme.css
 * Escopo exclusivo do Programme Hero (single `course`)
 * NÃO afeta a Home (`.c-hero--home`)
 */

.c-programme-hero__media {
  position: relative;
  min-height: 420px;
  background: #0b0b0b;
  overflow: visible;
}

.c-programme-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.05) saturate(1.05);
}

.c-programme-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.85) 0%,
      rgba(0, 0, 0, 0.65) 40%,
      rgba(0, 0, 0, 0.35) 70%,
      rgba(0, 0, 0, 0.15) 100%
    ),
    linear-gradient(
      to top,
      rgba(0, 0, 0, 0.7) 0%,
      rgba(0, 0, 0, 0.4) 30%,
      rgba(0, 0, 0, 0.1) 60%,
      transparent 100%
    );
}

/* Lead: no desktop envolve imagem + texto sobreposto; no mobile usa display:contents para reordenar */
.c-programme-hero__lead {
  position: relative;
}

.c-programme-hero__text {
  max-width: none;
  color: #fff;
  text-align: left;
}

@media (min-width: 1024px) {
  .c-programme-hero__text {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 44px 0;
    pointer-events: none;
  }

  .c-programme-hero__text .container {
    pointer-events: auto;
    width: 100%;
    max-width: 660px;
  }
}

.c-programme-hero__title {
  margin: 0 0 18px;
  font-family: var(--font-sans);
  font-weight: var(--fw-900);
  font-size: clamp(4.1rem, 3.4vw, 3.25rem);
  line-height: 1.05;
  letter-spacing: var(--ls-h1);
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}

.c-programme-hero__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 17px 14px 20px 14px;
  background: var(--color-orange);
  color: var(--color-black);
  font-family: var(--font-sans);
  font-weight: var(--fw-700);
  font-size: 26px;
  text-transform: lowercase;
}

.c-programme-hero__summary {
  font-size: 22px;
  line-height: 24px;
  font-family: var(--font-sans);
  color: rgba(255, 255, 255, 1);
}

/* Card laranja centralizado (Apply by / To start) — não full width */
.c-programme-hero__bar {
  position: relative;
  z-index: 1;
  padding: 0 var(--space-16);
  overflow: visible;
}

.c-programme-hero__bar .container {
  max-width: 800px;
  margin: 0 auto;
  background: var(--color-orange);
  color: #000;
  box-shadow: var(--shadow-md);
}

.c-programme-hero__barInner {
  position: relative;
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  padding: 30px 24px;
  margin-top: -70px;
}

.c-programme-hero__dates {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 50px;
  text-align: center;
}

.c-programme-hero__dateItem {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: center;
  font-family: var(--font-sans);
}

.c-programme-hero__dateLabel {
  font-size: 18px;
  font-weight: var(--fw-600);
}

.c-programme-hero__dateValue {
  font-size: 32px;
  font-weight: var(--fw-900);
}

.c-programme-hero__dateDivider {
  width: 2px;
  height: 77px;
  background: rgb(0, 0, 0);
}

.c-programme-hero__infoRow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: var(--fw-600);
}

.c-programme-hero__infoItem {
  white-space: nowrap;
}

.c-programme-hero__infoDot {
  opacity: 0.75;
}

/* Rays laranjas: lado direito por cima da imagem (e sobre a barra laranja) */
.c-programme-hero__rays {
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(150px, 55vw);
  height: auto;
  max-height: 380px;
  object-fit: contain;
  object-position: right bottom;
  z-index: 2;
  pointer-events: none;
  user-select: none;
}

/* Below block: Key benefits + form */
.c-programme-hero__below {
  padding: 56px 0;
  background: var(--color-surface-0);
}

.c-programme-hero__belowGrid {
  display: grid;
  gap: 32px;
  align-items: start;
}

@media (max-width: 1023px) {
  /* Ordem: imagem → barra laranja → título/pill/summary (texto fora do hero) */
  .c-programme-hero {
    display: flex;
    flex-direction: column;
  }

  .c-programme-hero__lead {
    display: contents;
  }

  .c-programme-hero__media {
    order: 1;
    min-height: 320px;
  }

  .c-programme-hero__bar {
    order: 2;
    align-self: stretch;
    width: 100%;
    padding: 0;
  }

  .c-programme-hero__bar .container {
    max-width: none;
    width: 100%;
    margin: 0;
  }

  .c-programme-hero__text {
    order: 3;
    position: static;
    background: #fff;
    padding: 24px 0 0px;
    pointer-events: auto;
  }

  .c-programme-hero__below {
    padding: 22px 0;
  }

  .c-programme-hero__text .container {
    max-width: none;
  }

  .c-programme-hero__title {
    color: var(--color-blue);
    text-shadow: none;
    font-size: clamp(1.75rem, 5.5vw, 2.25rem);
    line-height: 1.1;
  }

  .c-programme-hero__summary {
    color: #323232;
    font-size: 18px;
    line-height: 1.35;
  }

  .c-programme-hero__dates {
    gap: min(20px, 4vw);
  }

  .c-programme-hero__dateValue {
    font-size: 26px;
    white-space: nowrap;
    letter-spacing: -0.02em;
  }

  .c-programme-hero__dateLabel {
    font-size: clamp(13px, 3.2vw, 16px);
  }

  .c-programme-hero__infoRow {
    line-height: 1.3;
  }

  .c-programme-hero__infoItem,
  .c-programme-hero__infoDot {
    font-size: 12.35px;
    font-weight: bold;
  }

  .c-programme-hero__infoItem {
    white-space: normal;
  }

  .c-programme-hero__belowGrid {
    display: flex;
    flex-direction: column;
  }

  .c-programme-hero__formCard {
    order: -1;
  }
}

@media (min-width: 1024px) {
  .c-programme-hero__media {
    min-height: 520px;
  }

  /* Container da área alinhado às demais secções (sem restringir mais que o .container global) */
  .c-programme-hero__belowGrid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 560px);
    gap: 40px;
  }
}

.c-programme-hero__benefitsTitle {
  margin: 0 0 35px;
  font-family: var(--font-sans);
  font-weight: var(--fw-900);
  font-size: 47px;
  line-height: 1.05;
  color: var(--color-orange);
}

.c-programme-hero__benefitsList {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: srBenefits;
  display: grid;
  gap: 45px;
}

.c-programme-hero__benefitsItem {
  counter-increment: srBenefits;
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 12px;
  align-items: start;
  font-family: var(--font-sans);
  font-size: 20px;
  line-height: 1.3;
  color: var(--color-text);
}

.c-programme-hero__benefitsItem::before {
  content: counter(srBenefits);
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-blue);
  color: #fff;
  font-family: var(--font-sans);
  font-weight: var(--fw-700);
  font-size: 14px;
  line-height: 1;
  border-radius: 3px;
  margin-top: 2px;
  box-shadow: -2px 3px 0px 0px rgba(255, 117, 51, 0.85);
}

.c-programme-hero__benefitsSubtext {
  margin-top: 40px;
  font-size: 12px;
  line-height: 13px;
  color: var(--color-text-muted);
}

/* Coluna do form: só layout para o grid (aspecto do form está em request-info-form.css) */
.c-programme-hero__formCard {
  min-width: 0;
}

@media (max-width: 1100px) {
  .c-programme-hero__rays {
    display: none;
  }
}

@media (max-width: 768px) {
  .c-programme-hero__barInner {
    margin-top: -35px;
  }
}


