/* Comparativo de piscinas — banner (docs/layouts/comparativo/banner.png) */
.page-comparative #homeHero #topSite {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 30;
}

.page-comparative .pc-banner {
    min-height: 100vh;
}

.page-comparative .pc-banner__media {
    z-index: 0;
}

.page-comparative .pc-banner__img {
    object-fit: cover;
    object-position: center center;
}

.page-comparative .pc-banner__content {
    z-index: 10;
    min-height: 100vh;
    padding: clamp(5.5rem, 14vh, 9rem) 1rem 2rem;
}

.page-comparative .pc-banner__split {
    width: min(94vw, 58rem);
}

.page-comparative .pc-banner__line {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: baseline;
}

.page-comparative .pc-banner__left {
    text-align: right;
    padding-right: clamp(0.25rem, 1.5vw, 1.65rem);
}

.page-comparative .pc-banner__right {
    text-align: left;
    padding-left: clamp(0.25rem, 0.8vw, 0.65rem);
}

.page-comparative .pc-banner__title {
    font-size: clamp(2.75rem, 7.8vw, 5.75rem);
    line-height: 1.02;
    letter-spacing: clamp(-2px, -0.06vw, -4px);
    text-shadow: 0 2px 0 #8c9292, 0 4px 14px rgba(0, 0, 0, 0.35);
}

.page-comparative .pc-banner__tagline {
    margin-top: clamp(1rem, 2.5vw, 1.75rem);
    font-size: clamp(1rem, 2.2vw, 1.45rem);
    line-height: 1.35;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.page-comparative .pc-banner__actions {
    margin-top: clamp(2.25rem, 5.5vw, 3.75rem);
}

.page-comparative .pc-banner__cta {
    display: inline-block;
}

@media (max-width: 767.98px) {
    .page-comparative .pc-banner__title {
        font-size: clamp(2.1rem, 10vw, 3rem);
    }

    .page-comparative .pc-banner__tagline {
        font-size: clamp(0.9rem, 3.8vw, 1.1rem);
    }
}

/* Seção Antes — docs/layouts/comparativo/antes.png */
.page-comparative .pc-antes {
    position: relative;
    background: #fff;
    margin-top: var(--mt-default-web);
    padding-bottom: clamp(4rem, 12vw, 9rem);
    overflow: hidden;
}

.page-comparative .pc-antes > .container {
    position: relative;
    z-index: 1;
}

.page-comparative .pc-antes__texture {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 0;
    width: 100vw;
    max-width: 100vw;
    height: clamp(7rem, 18vw, 11rem);
    transform: translateX(-50%);
    background-image: url('../img/comparativo/textura-fundo-comparativo.webp');
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
    pointer-events: none;
}

.page-comparative .pc-antes__title {
    font-size: var(--pf-section-title-size);
    line-height: var(--pf-section-title-line-height);
    letter-spacing: -0.02em;
    color: var(--color-grey);
}

.page-comparative .pc-antes__body {
    font-size: var(--font-size-home-hero-description);
    line-height: 1.45;
    color: #6f7774;
}

.page-comparative .pc-antes__figure {
    position: relative;
    margin-top: var(--mt-default-divider);
}

.page-comparative .pc-antes__img {
    display: block;
    height: auto;
}

.page-comparative .pc-antes__caption {
    position: absolute;
    left: 50%;
    bottom: clamp(1.25rem, 3vw, 2rem);
    transform: translateX(-50%);
    color: #fff;
    font-size: clamp(1.35rem, 2.8vw, 2rem);
    line-height: 1.2;
    text-align: center;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
    pointer-events: none;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .page-comparative .pc-antes {
        margin-top: var(--mt-default-web-mobile);
        padding-bottom: clamp(3rem, 14vw, 5rem);
    }

    .page-comparative .pc-antes__texture {
        height: clamp(5rem, 22vw, 8rem);
    }

    .page-comparative .pc-antes__title {
        font-size: var(--pf-section-title-size-mobile);
    }

    .page-comparative .pc-antes__body {
        font-size: var(--font-size-home-hero-description-mobile);
    }

    .page-comparative .pc-antes__caption {
        font-size: clamp(1.1rem, 4.5vw, 1.35rem);
    }

    .page-comparative .pc-antes__figure {
        margin-top: var(--mt-default-divider-mobile);
    }
}

/* Seção Granitada x Concreto — docs/layouts/comparativo/granitada-x-concreto.png */
.page-comparative .pc-versus {
    background: #f1f0ef;
    padding: var(--mt-default-web) 0 clamp(3.5rem, 9vw, 6rem);
}

/* Seção Granitada x Fibra — docs/layouts/comparativo/granitada-x-fibra.png */
.page-comparative .pc-versus--fibra {
    background: #eaeaea;
}

.page-comparative .pc-versus__title {
    font-size: var(--pf-section-title-size);
    line-height: var(--pf-section-title-line-height);
    letter-spacing: -0.02em;
    color: var(--color-grey);
}

.page-comparative .pc-versus__reg {
    display: inline;
    font-size: 0.38em;
    line-height: 0;
    vertical-align: super;
    font-weight: inherit;
    font-style: normal;
    letter-spacing: 0;
    position: relative;
    top: -0.05em;
}

.page-comparative .pc-versus__title-x {
    vertical-align: baseline;
}

.page-comparative .pc-versus__body {
    margin: var(--mt-default-subtitle) auto 0;
    font-size: var(--font-size-home-hero-description);
    line-height: 1.45;
    color: #6f7774;
}

.page-comparative .pc-versus__stage {
    --pc-versus-gap: clamp(1rem, 2vw, 1.5rem);
    --pc-versus-icon-size: clamp(4rem, 14vw, 10rem);
    position: relative;
    margin-top: var(--mt-default-divider);
    container-type: inline-size;
}

.page-comparative .pc-versus__icon-bg {
    position: absolute;
    left: 50%;
    top: calc(((50cqi - var(--pc-versus-gap) / 2) * 0.95) / 2);
    z-index: 0;
    width: 15rem;
    height: auto;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.page-comparative .pc-versus__grid {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
}

.page-comparative .pc-versus__col {
    position: relative;
    z-index: 1;
    flex: 0 0 calc(50% - (var(--pc-versus-gap) / 2));
    max-width: calc(50% - (var(--pc-versus-gap) / 2));
    width: calc(50% - (var(--pc-versus-gap) / 2));
}

.page-comparative .pc-versus__col--left {
    padding-right: calc(var(--pc-versus-gap) / 2);
}

.page-comparative .pc-versus__col--right {
    padding-left: calc(var(--pc-versus-gap) / 2);
}

.page-comparative .pc-versus__card {
    width: 95%;
}

.page-comparative .pc-versus__col--left .pc-versus__card {
    margin-right: auto;
}

.page-comparative .pc-versus__col--right .pc-versus__card {
    margin-left: auto;
}

.page-comparative .pc-versus__media {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: clamp(1rem, 1.8vw, 1.5rem);
    background: linear-gradient(145deg, #d8dedb 0%, #b8c0bc 100%);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.page-comparative .pc-versus__img {
    display: block;
    object-fit: cover;
    object-position: center center;
}

.page-comparative .pc-versus__caption-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: clamp(1rem, 2.2vw, 1.75rem);
    pointer-events: none;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.04), transparent);
}

.page-comparative .pc-versus__pill {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: min(100%, 18rem);
    max-width: 100%;
    min-height: clamp(3rem, 6vw, 4.5rem);
    margin: 0 auto;
    padding: 0 1.25rem;
    font-size: clamp(1.25rem, 2.2vw, 2rem);
    line-height: 1.2;
    text-align: center;
    color: #fff;
}

.page-comparative .pc-versus__caption {
    margin-top: clamp(1rem, 2.2vw, 1.35rem);
    font-weight: 300;
    font-size: var(--font-size-home-hero-description);
    line-height: 1.45;
    color: #6b7370;
}

@media (max-width: 991.98px) and (min-width: 768px) {
    .page-comparative .pc-versus__pill {
        min-width: 260px;
        font-size: 1.6rem;
    }
}

@media (max-width: 767.98px) {
    .page-comparative .pc-versus {
        padding-top: var(--mt-default-web-mobile);
    }

    .page-comparative .pc-versus__title {
        font-size: var(--pf-section-title-size-mobile);
    }

    .page-comparative .pc-versus__body {
        font-size: var(--font-size-home-hero-description-mobile);
    }

    .page-comparative .pc-versus__grid {
        flex-direction: column;
        gap: 1.25rem;
    }

    .page-comparative .pc-versus__col {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }

    .page-comparative .pc-versus__stage {
        margin-top: var(--mt-default-divider-mobile);
    }

    .page-comparative .pc-versus__icon-bg {
        top: 50%;
        width: clamp(2.75rem, 14vw, 3.5rem);
    }

    .page-comparative .pc-versus__col--left,
    .page-comparative .pc-versus__col--right {
        padding-left: 0;
        padding-right: 0;
    }

    .page-comparative .pc-versus__col--left .pc-versus__card,
    .page-comparative .pc-versus__col--right .pc-versus__card {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .page-comparative .pc-versus__pill {
        min-width: min(100%, 14rem);
        font-size: clamp(1.1rem, 4.5vw, 1.45rem);
        min-height: 3rem;
    }

    .page-comparative .pc-versus__caption {
        font-size: var(--font-size-home-hero-description-mobile);
    }
}

/* Seção Tabela Comparativa — docs/layouts/comparativo/tabela.png */
.page-comparative .pc-table {
    background: #fff;
    padding: var(--mt-default-web) 0 clamp(3.5rem, 9vw, 6rem);
}

.page-comparative .pc-table__title {
    font-size: var(--pf-section-title-size);
    line-height: var(--pf-section-title-line-height);
    letter-spacing: -0.02em;
    color: var(--color-grey);
}

.page-comparative .pc-table__body {
    margin: var(--mt-default-subtitle) auto 0;
    font-size: var(--font-size-home-hero-description);
    line-height: 1.45;
    color: #6f7774;
}

.page-comparative .pc-table__label {
    margin-top: var(--mt-default-divider);
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
    line-height: 1.3;
    color: #8a8f8d;
}

.page-comparative .pc-table__wrap {
    margin-top: clamp(1.25rem, 3vw, 2rem);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.page-comparative .pc-table__grid {
    width: 100%;
    min-width: 44rem;
    border-collapse: collapse;
    table-layout: fixed;
}

.page-comparative .pc-table__grid thead th {
    padding: clamp(0.85rem, 1.8vw, 1.15rem) clamp(0.75rem, 1.5vw, 1rem);
    font-family: inherit;
    font-size: clamp(0.8rem, 1.2vw, 0.9375rem);
    font-weight: 600;
    line-height: 1.35;
    color: #58595b;
    vertical-align: middle;
    background: #fff;
}

.page-comparative .pc-table__cell {
    border-right: 1px solid #8e8e8e;
}

.page-comparative .pc-table__cell--last {
    border-right: none;
}

.page-comparative .pc-table__cell--criterion {
    width: 24%;
    text-align: center;
}

.page-comparative .pc-table__cell--data {
    width: 25.33%;
    text-align: center;
}

.page-comparative .pc-table__row:nth-child(odd) .pc-table__cell {
    background: #efedf2;
}

.page-comparative .pc-table__row:nth-child(even) .pc-table__cell {
    background: #fff;
}

.page-comparative .pc-table__row .pc-table__cell {
    padding: clamp(0.85rem, 1.8vw, 1.15rem) clamp(0.75rem, 1.5vw, 1rem);
    font-size: clamp(0.8125rem, 1.15vw, 0.9375rem);
    font-weight: 300;
    line-height: 1.45;
    color: #58595b;
    vertical-align: middle;
}

.page-comparative .pc-table__row .pc-table__cell--criterion {
    font-weight: 500;
    color: #58595b;
}

.page-comparative .pc-table__reg {
    display: inline;
    font-size: 0.38em;
    line-height: 0;
    vertical-align: super;
    font-weight: inherit;
    font-style: normal;
    letter-spacing: 0;
    position: relative;
    top: -0.05em;
}

@media (max-width: 767.98px) {
    .page-comparative .pc-table {
        padding-top: var(--mt-default-web-mobile);
    }

    .page-comparative .pc-table__title {
        font-size: var(--pf-section-title-size-mobile);
    }

    .page-comparative .pc-table__body {
        font-size: var(--font-size-home-hero-description-mobile);
    }

    .page-comparative .pc-table__label {
        margin-top: var(--mt-default-divider-mobile);
        font-size: clamp(1.15rem, 4.5vw, 1.35rem);
    }

    .page-comparative .pc-table__grid {
        min-width: 38rem;
    }
}

/* Seção CTA — docs/layouts/comparativo/cta.png */
.page-comparative .pc-cta {
    background: #f7f7f7;
    padding: var(--mt-default-web) 0 clamp(3.5rem, 9vw, 6rem);
}

.page-comparative .pc-cta__title {
    margin-left: auto;
    margin-right: auto;
    font-size: var(--pf-section-title-size);
    line-height: var(--pf-section-title-line-height);
    letter-spacing: -0.02em;
    color: var(--color-grey);
}

.page-comparative .pc-cta__copy {
    display: flex;
    flex-direction: column;
    gap: clamp(0.85rem, 2vw, 1.15rem);
    margin: var(--mt-default-subtitle) auto 0;
}

.page-comparative .pc-cta__body {
    font-size: var(--font-size-home-hero-description);
    line-height: 1.45;
    color: #6f7774;
}

.page-comparative .pc-cta__actions {
    margin-top: var(--mt-default-divider);
}

.page-comparative .pc-cta__button {
    min-width: clamp(12rem, 28vw, 16rem);
    padding: 0.45rem 1.75rem !important;
}

@media (max-width: 767.98px) {
    .page-comparative .pc-cta {
        padding-top: var(--mt-default-web-mobile);
    }

    .page-comparative .pc-cta__title {
        font-size: var(--pf-section-title-size-mobile);
    }

    .page-comparative .pc-cta__copy {
        margin-top: var(--mt-default-subtitle-mobile, var(--mt-default-subtitle));
    }

    .page-comparative .pc-cta__body {
        font-size: var(--font-size-home-hero-description-mobile);
    }

    .page-comparative .pc-cta__actions {
        margin-top: var(--mt-default-divider-mobile);
    }
}

/* Seção Learn More — alinhado às demais páginas (custom.css #saiba-mais) */
.page-comparative #saiba-mais .dfsrl-cards-wrap {
    padding-bottom: 0;
}

.page-comparative #saiba-mais {
    background-color: #fff;
    padding-bottom: var(--mt-default-web);
}

@media only screen and (max-width: 767.98px) {
    .page-comparative #saiba-mais {
        padding-top: var(--mt-default-web-mobile);
        padding-bottom: var(--mt-default-web-mobile);
    }

    .page-comparative #saiba-mais .dfsrl-cards-wrap {
        overflow: visible;
        padding-bottom: 0.5rem;
    }

    .page-comparative #saiba-mais #pcLearnMoreCarouselRow.dfsrl-cards.row {
        row-gap: 1.25rem;
    }
}

/* Seção FAQ — padrão faq-form-section (custom.css) */
.page-comparative #comparative-faq-form.pc-faq .faq-form-title {
    font-size: var(--pf-section-title-size);
    font-weight: 400;
    line-height: var(--pf-section-title-line-height);
    letter-spacing: -0.02em;
    color: var(--color-grey);
}

.page-comparative #comparative-faq-form.pc-faq .faq-form-subtitle {
    font-weight: 300;
    font-size: var(--font-size-home-hero-description);
    line-height: 1.45;
    color: #6b7370;
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 767.98px) {
    .page-comparative #comparative-faq-form.pc-faq .faq-form-title {
        font-size: var(--pf-section-title-size-mobile) !important;
        max-width: 21rem;
        margin-left: auto;
        margin-right: auto;
    }

    .page-comparative #comparative-faq-form.pc-faq .faq-form-subtitle {
        font-size: var(--font-size-home-hero-description-mobile);
        line-height: 1.45;
        max-width: 18.5rem;
    }
}
