.cc_9w18tgsw_65D9tKXSLV .grid-section {
  width: 100%;
}

.cc_9w18tgsw_65D9tKXSLV .grid-section__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  margin-inline: auto;
  padding-inline: 16px;
}

.cc_9w18tgsw_65D9tKXSLV .grid-section__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding-block: 10px;
  text-align: center;
}

.cc_9w18tgsw_65D9tKXSLV .grid-section__tagline {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.2px;
}

.cc_9w18tgsw_65D9tKXSLV .grid-section__title {
  margin: 0;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -2px;
}

.cc_9w18tgsw_65D9tKXSLV .grid-section__grid {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(var(--grid-cols, 4), 1fr);
  grid-auto-rows: auto;
  gap: var(--grid-gap, 20px);
}

/* IkasComponentRenderer mounts each child in a display:contents wrapper, so the
   real grid items are the GridCard roots themselves — keep the wrapper flat. */
.cc_9w18tgsw_65D9tKXSLV .grid-section__grid > *, .cc_9w18tgsw_65D9tKXSLV .grid-section__grid > * > *:not(.grid-card) {
  display: contents;
}

@media (min-width: 769px) and (max-width: 1024px) {
  .cc_9w18tgsw_65D9tKXSLV .grid-section__grid {
    grid-template-columns: repeat(var(--grid-tcols, 3), 1fr);
  }
}

@media (max-width: 768px) {
  .cc_9w18tgsw_65D9tKXSLV .grid-section__inner {
    gap: 16px;
  }

  .cc_9w18tgsw_65D9tKXSLV .grid-section__tagline {
    font-size: 12px;
    letter-spacing: -0.2px;
  }

  .cc_9w18tgsw_65D9tKXSLV .grid-section__title {
    font-size: 22px;
    letter-spacing: -0.6px;
  }

  .cc_9w18tgsw_65D9tKXSLV .grid-section__grid {
    grid-template-columns: repeat(var(--grid-mcols, 2), 1fr);
  }
}
