/* Section widths follow the Elementor container; no viewport breakout. */
.elementor-widget-adspectra_zf_hero,
.elementor-widget-adspectra_zf_stats,
.elementor-widget-adspectra_zf_faq,
.elementor-widget-adspectra_zf_market,
.elementor-widget-adspectra_zf_awards,
.elementor-widget-adspectra_zf_reviews {
    width: 100%;
    min-width: 0;
    margin-block-end: 0 !important;
}
.adspectra-elementor-section { width: 100%; }
.adspectra-elementor-section .adspectra-stats__grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.adspectra-elementor-section .adspectra-market__text { color: #514c4e; font-size: 15.5px; line-height: 1.78; }
.adspectra-elementor-section .adspectra-market__text p { margin: 0 0 1em; }
.adspectra-elementor-section .adspectra-market__text p:last-child { margin-bottom: 0; }
body.adspectra-zf-elementor-page #masthead { position: relative !important; inset: auto !important; }
body.adspectra-zf-elementor-page #content { padding-top: 0; }
body.elementor-editor-active .adspectra-elementor-section [data-adspectra-reveal] { opacity: 1 !important; transform: none !important; }
@media (max-width: 767px) {
    .adspectra-elementor-section .adspectra-stats__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .adspectra-elementor-section .adspectra-market__text { font-size: 15px; line-height: 1.7; }
}
/* Astra retains a boxed .ast-container on some Full Width configurations. */
body.adspectra-zf-elementor-page .site-content > .ast-container {
    display: block;
    width: 100%;
    max-width: none;
    padding-inline: 0;
}

/* Elementor's .elementor img reset must not override our cover images.
   Hero keeps the extra height needed by its negative top offset and parallax. */
.adspectra-elementor-section img.adspectra-hero__slide {
    width: 100% !important;
    height: calc(100% + 140px) !important;
    object-fit: cover;
}
.adspectra-elementor-section .adspectra-market__media > img,
.adspectra-elementor-section .adspectra-award-slide__media > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}
@media (max-width: 767px) {
    .adspectra-elementor-section img.adspectra-hero__slide {
        height: calc(100% + 84px) !important;
    }
}

/* FAQ: compact player beside the answer, stacked on smaller screens. */
.adspectra-elementor-section .adspectra-faq__content--with-video {
    display: grid;
    grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
    align-items: start;
    gap: clamp(24px, 3vw, 40px);
}
.adspectra-elementor-section .adspectra-faq__content > .adspectra-faq-video {
    width: 100%;
    max-width: 100%;
    margin: 0;
}
.adspectra-elementor-section .adspectra-faq__text { min-width: 0; }
.adspectra-elementor-section .adspectra-faq__text > :first-child { margin-top: 0; }
.adspectra-elementor-section .adspectra-faq__text > :last-child { margin-bottom: 0; }
@media (max-width: 767px) {
    .adspectra-elementor-section .adspectra-faq__content--with-video {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
    .adspectra-elementor-section .adspectra-faq__content > .adspectra-faq-video--portrait {
        max-width: 280px;
        justify-self: center;
        margin-inline: auto;
    }
}
