/* ============================================================================
   Prêmios e Transparência
   ============================================================================ */

/* --- Section header (compartilhado) --- */
.pt-section-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--semantics-spacing-large);
    max-width: 720px;
}

.pt-section-header--center {
    align-items: center;
    text-align: center;
    margin: 0 auto;
}

.pt-section-title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-heading-default);
    margin: 0;
}

.pt-section-desc {
    font-family: var(--semantics-typography-family-inter);
    color: var(--semantics-colors-text-secondary);
    margin: 0;
}

/* ============================================================================
   Hero
   ============================================================================ */
.pt-hero {
    position: relative;
    background-color: var(--semantics-colors-fill-accent-pistache);
    overflow: hidden;
    min-height: 630px;
}

.pt-hero__inner {
    position: relative;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    min-height: 630px;
    display: flex;
    align-items: center;
    z-index: 1;
}

.pt-hero__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--semantics-spacing-medium);
    max-width: 540px;
}

.pt-hero__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-display-48);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
}

.pt-hero__subtitle {
    font-family: var(--semantics-typography-family-inter);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
    max-width: 498px;
}

.pt-hero__media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 50%;
    overflow: hidden;
}

.pt-hero__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 60% center;
    display: block;
}

/* ============================================================================
   Prêmios e Selos Nacionais (slider)
   ============================================================================ */
.pt-premios {
    background-color: var(--semantics-colors-fill-background-primary);
    padding: var(--semantics-padding-broad) 0 var(--semantics-padding-wide);
}

.pt-premios__inner {
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-broad);
}

.pt-premios__slider {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-large);
}

.pt-premios__swiper {
    width: 100%;
    overflow: hidden;
}

.pt-premios__swiper .swiper-wrapper {
    align-items: stretch;
}

.pt-premios__swiper .swiper-slide {
    height: auto;
}

.pt-premio {
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    min-height: 320px;
    height: auto;
    padding: var(--semantics-padding-big);
    background-color: var(--semantics-colors-fill-background-primary);
    border: var(--semantics-stroke-thin) solid var(--semantics-colors-stroke-secondary);
    border-radius: var(--semantics-radius-bigger);
    overflow: hidden;
}

.pt-premio__top {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--semantics-spacing-larger);
    width: 100%;
}

.pt-premio__labels {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-tiny);
    width: 100%;
}

.pt-premio__name {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 700;
    font-size: var(--semantics-typography-body-18);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-heading-default);
    margin: 0;
}

.pt-premio__desc {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-14);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-secondary);
    margin: 0;
}

.pt-premio__selo {
    width: 80px;
    height: 80px;
    object-fit: contain;
    flex-shrink: 0;
}

.pt-premios__nav {
    display: flex;
    justify-content: flex-end;
    gap: var(--semantics-spacing-large);
}

.pt-premios__btn {
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: var(--semantics-radius-full);
    background-color: var(--semantics-colors-fill-neutral-strong);
    color: var(--semantics-colors-text-secondary);
    font-size: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color var(--semantics-motion-duration-base) var(--semantics-motion-easing-standard),
                color var(--semantics-motion-duration-base) var(--semantics-motion-easing-standard);
}

.pt-premios__btn:hover:not(:disabled) {
    background-color: var(--semantics-colors-fill-primary);
    color: var(--semantics-colors-text-on-dark);
}

.pt-premios__btn--next {
    background-color: var(--semantics-colors-fill-primary);
    color: var(--semantics-colors-text-on-dark);
}

.pt-premios__btn--next:hover:not(:disabled) {
    background-color: var(--semantics-colors-fill-interactive-primary-hover);
}

.pt-premios__btn.swiper-button-disabled {
    opacity: var(--semantics-opacity-muted);
    cursor: not-allowed;
}

.pt-premios__btn::after {
    content: none;
}

/* ============================================================================
   Reconhecimento Internacional
   ============================================================================ */
.pt-internacional {
    background-color: var(--semantics-colors-fill-background-primary);
    padding: var(--semantics-padding-broad) 0;
}

.pt-internacional__inner {
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-bigger);
}

.pt-internacional__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--semantics-spacing-wider);
    align-items: start;
}

.pt-ranking {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--semantics-spacing-bigger);
    padding: var(--semantics-padding-big);
    border-radius: var(--semantics-radius-bigger);
    background-color: var(--semantics-colors-fill-background-primary);
}

.pt-ranking__stats {
    display: flex;
    gap: var(--semantics-spacing-wide);
    width: 100%;
}

.pt-ranking__stat {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-tiny);
}

.pt-ranking__value {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-display-48);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-heading-secondary);
    margin: 0;
}

.pt-ranking__label {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-14);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-secondary);
    margin: 0;
}

.pt-ranking__divider {
    width: 100%;
    height: 1px;
    border: 0;
    margin: 0;
}

.pt-ranking--purpura .pt-ranking__divider { background-color: var(--semantics-colors-fill-accent-purpura); }
.pt-ranking--pitaya  .pt-ranking__divider { background-color: var(--semantics-colors-fill-accent-pitaya); }
.pt-ranking--ponkan  .pt-ranking__divider { background-color: var(--semantics-colors-fill-accent-ponkan); }

.pt-ranking__selo {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* ============================================================================
   Relatórios Anuais
   ============================================================================ */
.pt-relatorios {
    background-color: var(--semantics-colors-fill-background-primary);
    padding: var(--semantics-padding-broad) 0;
}

.pt-relatorios__inner {
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-bigger);
}

.pt-relatorios__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--semantics-spacing-large);
}

.pt-relatorio {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--semantics-spacing-medium);
    padding: var(--semantics-padding-large);
    background-color: var(--semantics-colors-fill-neutral-subtle);
    border-radius: var(--semantics-radius-large);
}

.pt-relatorio__title {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 700;
    font-size: var(--semantics-typography-body-14);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-heading-default);
    margin: 0;
}

.pt-relatorio__downloads {
    display: flex;
    flex-direction: row;
    gap: var(--semantics-spacing-medium);
    flex-wrap: wrap;
}

.pt-relatorio__download {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 600;
    font-size: var(--semantics-typography-label-12);
    line-height: var(--semantics-typography-baseline-normal);
    text-decoration: none;
    transition: opacity var(--semantics-motion-duration-base) var(--semantics-motion-easing-standard);
}

.pt-relatorio__download:hover {
    opacity: var(--semantics-opacity-strong);
}

.pt-relatorio--purpura  .pt-relatorio__download { color: var(--semantics-colors-text-accent-purpura); }
.pt-relatorio--pitaya   .pt-relatorio__download { color: var(--semantics-colors-fill-accent-pitaya); }
.pt-relatorio--pistache .pt-relatorio__download { color: var(--semantics-colors-fill-accent-pistache); }
.pt-relatorio--ponkan   .pt-relatorio__download { color: var(--semantics-colors-fill-accent-ponkan); }
.pt-relatorio--petunia  .pt-relatorio__download { color: var(--semantics-colors-fill-accent-petunia); }

/* ============================================================================
   Teoria da Mudança
   ============================================================================ */
.pt-teoria {
    padding: var(--semantics-padding-broad) 0;
    background-color: var(--semantics-colors-fill-background-primary);
}

.pt-teoria__inner {
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
}

.pt-teoria__card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--semantics-spacing-bigger);
    padding-top: var(--semantics-padding-wide);
    padding-right: var(--semantics-padding-wider);
    padding-bottom: 0;
    padding-left: var(--semantics-padding-wider);
    background-color: var(--semantics-colors-fill-accent-petunia);
    border-radius: var(--semantics-radius-bigger);
    overflow: hidden;
    min-height: 396px;
}

.pt-teoria__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--semantics-spacing-large);
    max-width: 480px;
    align-self: center;
    padding-bottom: var(--semantics-padding-wide);
    z-index: 1;
}

.pt-teoria__icon {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: var(--semantics-colors-text-accent-ponkan);
}

.pt-teoria__label {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 700;
    font-size: var(--semantics-typography-body-14);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-accent-ponkan);
    margin: 0;
}

.pt-teoria__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-small);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
}

.pt-teoria__media {
    align-self: end;
    justify-self: center;
    width: 100%;
    max-width: 584px;
    line-height: 0;
    pointer-events: none;
}

.pt-teoria__media img {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: bottom;
}

/* ============================================================================
   Código de Conduta
   ============================================================================ */
.pt-conduta {
    background-color: var(--semantics-colors-fill-background-secondary);
    padding: var(--semantics-padding-broad) 0;
}

.pt-conduta__inner {
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-bigger);
}

.pt-conduta__cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--semantics-spacing-larger);
}

.pt-conduta__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--semantics-spacing-large);
    padding: var(--semantics-padding-larger);
    background-color: var(--semantics-colors-fill-background-primary);
    border: var(--semantics-stroke-thin) solid var(--semantics-colors-stroke-secondary);
    border-radius: var(--semantics-radius-bigger);
}

.pt-conduta__card-title {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 700;
    font-size: var(--semantics-typography-body-18);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-heading-default);
    margin: 0;
}

.pt-conduta__card-desc {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-14);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-secondary);
    margin: 0;
}

.pt-conduta__link {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 600;
    font-size: var(--semantics-typography-body-14);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-accent-purpura);
    text-decoration: none;
    transition: color var(--semantics-motion-duration-base) var(--semantics-motion-easing-standard);
}

.pt-conduta__link:hover {
    color: var(--semantics-colors-text-interactive-accent-purpura-hover);
}

/* ============================================================================
   Demonstrações Financeiras
   ============================================================================ */
.pt-demonstracoes {
    background-color: var(--semantics-colors-fill-background-primary);
    padding: var(--semantics-padding-broad) 0;
}

.pt-demonstracoes__inner {
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--semantics-spacing-wide);
}

.pt-demonstracoes .pt-section-header {
    align-self: stretch;
}

.pt-demonstracoes__list {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-large);
}

.pt-demonstracoes__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--semantics-spacing-large);
    padding: var(--semantics-padding-large);
    background-color: var(--semantics-colors-fill-neutral-subtle);
    border-radius: 10px;
}

.pt-demonstracoes__label {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 600;
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-heading-default);
}

.pt-demonstracoes__download {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 600;
    font-size: var(--semantics-typography-body-14);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-accent-purpura);
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--semantics-motion-duration-base) var(--semantics-motion-easing-standard);
}

.pt-demonstracoes__download:hover {
    color: var(--semantics-colors-text-interactive-accent-purpura-hover);
}

.pt-demonstracoes__more {
    align-self: center;
}

/* ============================================================================
   CTA Final
   ============================================================================ */
.pt-cta {
    padding: var(--semantics-padding-broad) 0;
    background-color: var(--semantics-colors-fill-background-primary);
}

.pt-cta__inner {
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-padding-large);
}

.pt-cta__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--semantics-spacing-bigger);
    padding: var(--semantics-padding-wider) var(--semantics-padding-broad);
    background-color: var(--semantics-colors-fill-accent-petunia);
    border-radius: var(--semantics-radius-bigger);
    text-align: center;
}

.pt-cta__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
    max-width: 700px;
}

.pt-cta__desc {
    font-family: var(--semantics-typography-family-inter);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
    max-width: 540px;
}

/* ============================================================================
   Responsivo — breakpoints permitidos: 1024 / 768 / 576
   ============================================================================ */

@media (max-width: 1024px) {
    .pt-hero {
        min-height: auto;
    }

    .pt-hero__inner {
        flex-direction: column;
        align-items: stretch;
        padding: var(--semantics-spacing-broad) var(--semantics-spacing-large) 60px;
        min-height: auto;
        gap: var(--semantics-spacing-broad);
    }

    .pt-hero__content {
        max-width: 100%;
    }

    .pt-hero__media {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        width: auto;
        height: 360px;
    }

    .pt-internacional__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--semantics-spacing-bigger);
    }

    .pt-relatorios__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .pt-teoria__card {
        grid-template-columns: 1fr;
        padding: var(--semantics-padding-wide) var(--semantics-padding-wide);
    }

    .pt-teoria__media {
        display: none;
    }
}

@media (max-width: 768px) {
    .pt-hero__title {
        font-size: var(--semantics-typography-heading-xx-large);
    }

    .pt-section-title {
        font-size: var(--semantics-typography-heading-large);
    }

    .pt-internacional__grid {
        grid-template-columns: 1fr;
    }

    .pt-relatorios__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pt-conduta__cards {
        grid-template-columns: 1fr;
    }

    .pt-teoria__title {
        font-size: var(--semantics-typography-heading-x-small);
    }

    .pt-demonstracoes__row {
        gap: var(--semantics-spacing-medium);
    }

    .pt-cta {
        padding: var(--semantics-padding-bigger) 0;
    }

    .pt-cta__card {
        padding: var(--semantics-padding-bigger) var(--semantics-padding-larger);
    }
}

@media (max-width: 576px) {
    .pt-hero__title {
        font-size: var(--semantics-typography-heading-large);
    }

    .pt-hero__media {
        height: 280px;
    }

    .pt-section-title {
        font-size: var(--semantics-typography-heading-medium);
    }

    .pt-relatorios__grid {
        grid-template-columns: 1fr;
    }

    .pt-demonstracoes__row {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--semantics-spacing-small);
    }

    .pt-demonstracoes__more {
        width: 100%;
    }

    .pt-teoria__card {
        padding: var(--semantics-padding-larger) var(--semantics-padding-large);
    }

    .pt-cta__title {
        font-size: var(--semantics-typography-heading-medium);
    }

    .pt-premios__nav {
        justify-content: center;
    }
}
