/* Section: CTA Season */

.cta-season {
  width: 100%;
  max-height: 400px;
  overflow: hidden;
  margin-bottom: var(--space-lg);
  background: var(--beige);
}

/* Section: CTA Season (inner layout) */

.cta-season-inner {
  display: grid;
  grid-template-columns: 40% 60%;
  align-items: stretch;
  max-height: 400px;
}

.cta-season-inner.no-image {
  grid-template-columns: 1fr;
}

/* Section: CTA Season (media) */

.cta-season-media {
  display: block;
  height: 100%;
  max-height: 400px;
  overflow: hidden;
  text-decoration: none;
}

.cta-season-image {
  width: 100%;
  height: 100%;
  max-height: 400px;
  margin: 0;
}

.cta-season-image img {
  width: 100%;
  height: 100%;
  max-height: 400px;
  object-fit: cover;
  display: block;
}

/* Section: CTA Season (content) */

.cta-season-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-sm);
  padding: var(--space-lg) 6vw;
}

.cta-season-title {
  margin: 0;
  max-width: 520px;
}

.cta-season-title a {
  display: inline-block;
  font-family: var(--font-display);
  font-size: var(--font-size-section);
  line-height: 1.4;
  font-weight: 400;
  text-decoration: none;
  color: var(--dark);
  overflow-wrap: break-word;
  transition: opacity var(--transition-fast);
}

.cta-season-title a:hover {
  opacity: 0.75;
}

.cta-season-name {
  font-family: var(--font-hand);
  font-size: var(--font-size-hand-md);
  line-height: 1;
  font-weight: 400;
  white-space: nowrap;
  vertical-align: -15px;
  padding-left: 5px;
}

.cta-season-text {
  max-width: 420px;
  margin: 0;
  font-family: var(--font-base);
  font-size: var(--font-size-sm);
  line-height: 1.75;
  color: var(--dark);
}

.cta-season-btn {
  align-self: flex-start;
  margin-top: var(--space-xs);
}

/* Section: CTA Season (mobile) */

@media (max-width: 768px) {
  .cta-season {
    max-height: none;
  }

  .cta-season-inner {
    grid-template-columns: 1fr;
    max-height: none;
  }

  .cta-season-media,
  .cta-season-image,
  .cta-season-image img {
    max-height: 240px;
  }

  .cta-season-content {
    padding: var(--space-lg) var(--container-padding);
  }

  .cta-season-title a {
    font-size: var(--font-size-h6);
  }

  .cta-season-name {
    font-size: var(--font-size-xxl);
  }
}
