.page-topic-container {
    padding: 3rem 0rem;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 1rem;
}

.page-topic-container header {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.5rem;
}

.page-topic-icon img {
    width: 5rem;
    height: auto;
}

.titulo-page-topic {
    text-transform: uppercase;
}

.page-topic-container header hr {
  display: block;
  height: 5px;
  width: 20%;
  background-color: var(--cor-primaria);
  border-radius: 2rem;
}

/* --- Grid Container (Garante que os cards fiquem lado a lado) --- */
.topic-cards-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    padding: 20px;
    margin-top: 30px;
    width: 100%;
    max-width: 1600px;
}

/* --- Wrapper do Link (Controla a largura de cada Card) --- */
.topic-card-link-wrapper {
    text-decoration: none;
    color: inherit;
    display: block;
    flex: 1 1 280px;
    
    max-width: 340px; 
    min-width: 260px;
}

/* --- O Card Base --- */
.card-topic {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%; /* Adapta ao grid */
    min-height: 200px; /* Altura mínima para ficar bonito */
    border-radius: 24px;
    line-height: 1.6;
    transition: all 0.48s cubic-bezier(0.23, 1, 0.32, 1);
}

/* --- O Conteúdo (Laranja) --- */
.content-topic {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 24px;
    padding: 36px;
    border-radius: 22px;
    color: #ffffff;
    overflow: hidden;
    background: var(--cor-primaria);
    transition: all 0.48s cubic-bezier(0.23, 1, 0.32, 1);
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

/* --- Camada 1 (Azul claro) --- */
.content-topic::before {
    position: absolute;
    content: "";
    top: -4%;
    left: 50%;
    width: 90%;
    height: 90%;
    transform: translate(-50%);
    background: var(--cor-primaria-media);
    z-index: -1;
    transform-origin: bottom;
    border-radius: inherit;
    transition: all 0.48s cubic-bezier(0.23, 1, 0.32, 1);
}

/* --- Camada 2 (Azul mais claro) --- */
.content-topic::after {
    position: absolute;
    content: "";
    top: -8%;
    left: 50%;
    width: 80%;
    height: 80%;
    transform: translate(-50%);
    background: var(--cor-primaria-clara);
    z-index: -2;
    transform-origin: bottom;
    border-radius: inherit;
    transition: all 0.48s cubic-bezier(0.23, 1, 0.32, 1);
}

/* --- Ícone SVG --- */
.content-topic svg {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
}

/* --- Texto (Título) --- */
.content-topic .para {
    z-index: 1;
    opacity: 1;
    font-size: 18px;
    font-weight: bold;
    margin: 0;
    transition: all 0.48s cubic-bezier(0.23, 1, 0.32, 1);
}

/* --- Pequeno resumo (opcional) --- */
.excerpt-small {
    font-size: 0.9rem;
    opacity: 0.9;
}

/* --- Efeitos de Hover (Animação) --- */
.topic-card-link-wrapper:hover .card-topic {
    transform: translate(0px, -16px);
}

.topic-card-link-wrapper:hover .content-topic::before {
    rotate: -8deg;
    top: 0;
    width: 100%;
    height: 100%;
}

.topic-card-link-wrapper:hover .content-topic::after {
    rotate: 8deg;
    top: 0;
    width: 100%;
    height: 100%;
}