/* WPCM News Bloco 3 Independente — layout editorial 2.1 */
.wpcm-nb3-wrap,
.wpcm-nb3-wrap *,
.wpcm-nb3-wrap *::before,
.wpcm-nb3-wrap *::after {
    box-sizing: border-box;
}

.wpcm-nb3-wrap {
    --wpcm-max-width: 1600px;
    --wpcm-slider-height: 430px;
    --wpcm-border-radius: 18px;
    --wpcm-gap: 14px;
    --wpcm-font-title: 34px;
    --wpcm-font-excerpt: 16px;
    --wpcm-font-card-title: 16px;
    --wpcm-color-bg: #fff;
    --wpcm-color-accent: #06a9c6;
    --wpcm-color-slider-title: #111827;
    --wpcm-color-slider-text: #526071;
    --wpcm-color-card-overlay: rgba(6, 12, 23, .72);
    --wpcm-color-card-title: #fff;

    position: relative;
    isolation: isolate;
    width: calc(100% - 32px) !important;
    max-width: var(--wpcm-max-width) !important;
    margin: clamp(22px, 3vw, 44px) auto !important;
    padding: clamp(10px, 1.15vw, 18px) !important;
    overflow: hidden;
    color: #111827;
    background: var(--wpcm-color-bg);
    border: 1px solid #e7eaf0;
    border-radius: calc(var(--wpcm-border-radius) + 8px);
    box-shadow: 0 24px 70px rgba(15, 23, 42, .10);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
    direction: ltr !important;
}

.wpcm-nb3-wrap::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: 0;
    left: clamp(26px, 5vw, 88px);
    right: clamp(26px, 5vw, 88px);
    height: 4px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, transparent, var(--wpcm-color-accent) 18%, var(--wpcm-color-accent) 82%, transparent);
    pointer-events: none;
}

.wpcm-nb3-wrap a {
    text-decoration: none !important;
}

.wpcm-nb3-slider {
    position: relative !important;
    width: 100% !important;
    height: var(--wpcm-slider-height) !important;
    min-height: 360px;
    overflow: hidden !important;
    background: #f8fafc;
    border: 1px solid #e5e9ef;
    border-radius: var(--wpcm-border-radius);
}

.wpcm-nb3-slides {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wpcm-nb3-slide {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas: "content image" !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0;
    visibility: hidden;
    background: #fff;
    transform: translateX(16px);
    transition: opacity .35s ease, transform .45s cubic-bezier(.22, 1, .36, 1), visibility .35s;
}

.wpcm-nb3-slide.active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.wpcm-nb3-slide-content {
    position: relative;
    z-index: 2;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    min-width: 0;
    height: 100%;
    padding: clamp(34px, 4vw, 64px) clamp(38px, 4.8vw, 76px) !important;
    text-align: left !important;
    background:
        radial-gradient(circle at 8% 0%, rgba(6, 169, 198, .10), transparent 38%),
        linear-gradient(145deg, #ffffff 0%, #f8fbfc 100%);
    grid-area: content !important;
    direction: ltr !important;
}

.wpcm-nb3-slide-content::after {
    content: "";
    width: 72px;
    height: 3px;
    margin-top: 22px;
    border-radius: 999px;
    background: var(--wpcm-color-accent);
}

.wpcm-nb3-slide-category,
.wpcm-nb3-card-category {
    display: inline-flex !important;
    align-items: center;
    width: fit-content;
    color: #fff !important;
    background: var(--wpcm-color-accent) !important;
    text-transform: uppercase;
    letter-spacing: .055em;
    font-weight: 800;
}

.wpcm-nb3-slide-category {
    margin: 0 0 18px !important;
    padding: 7px 12px !important;
    border-radius: 999px;
    font-size: 11px !important;
    line-height: 1.2 !important;
    box-shadow: 0 8px 22px color-mix(in srgb, var(--wpcm-color-accent) 22%, transparent);
}

.wpcm-nb3-slide-title {
    max-width: none;
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: var(--wpcm-color-slider-title) !important;
    font-size: clamp(28px, 2.35vw, var(--wpcm-font-title)) !important;
    font-weight: 850 !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em;
    text-wrap: balance;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

.wpcm-nb3-slide-title a {
    color: inherit !important;
}

.wpcm-nb3-slide-title a:hover,
.wpcm-nb3-slide-title a:focus-visible {
    color: var(--wpcm-color-accent) !important;
}

.wpcm-nb3-slide-excerpt {
    max-width: none;
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: var(--wpcm-color-slider-text) !important;
    font-size: clamp(14px, 1.15vw, var(--wpcm-font-excerpt)) !important;
    line-height: 1.65 !important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
    overflow: hidden;
}

.wpcm-nb3-slide-meta {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px 16px;
    color: #7b8491 !important;
    font-size: 12px !important;
    font-weight: 600;
    padding-top: 2px;
}

.wpcm-nb3-slide-meta a {
    color: inherit !important;
}

.wpcm-nb3-slide-image {
    position: relative !important;
    min-width: 0;
    height: 100% !important;
    overflow: hidden !important;
    background: #dce2e9;
    display: block !important;
    grid-area: image !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.wpcm-nb3-slide-image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(15, 23, 42, .10), transparent 25%);
}

.wpcm-nb3-slide-image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.wpcm-nb3-slide-image img,
.wpcm-nb3-card-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.wpcm-nb3-slide-image.is-missing::before {
    content: "Imagem indisponível";
    position: absolute;
    z-index: 1;
    inset: 0;
    display: grid;
    place-items: center;
    color: #64748b;
    background: linear-gradient(135deg, #eef2f7, #dce3ec);
    font-size: 12px;
    font-weight: 700;
}

.wpcm-nb3-slide-image img {
    transition: transform .8s cubic-bezier(.22, 1, .36, 1);
}

.wpcm-nb3-slide.active .wpcm-nb3-slide-image:hover img {
    transform: scale(1.035);
}

.wpcm-nb3-slide-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #6b7280;
    background: linear-gradient(135deg, #e5e7eb, #cbd5e1);
}

.wpcm-nb3-arrow {
    position: absolute !important;
    z-index: 12 !important;
    top: 50% !important;
    display: grid !important;
    place-items: center;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111827 !important;
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid rgba(15, 23, 42, .10) !important;
    border-radius: 50% !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .16);
    cursor: pointer;
    transform: translateY(-50%);
    transition: transform .2s ease, background .2s ease;
}

.wpcm-nb3-arrow:hover {
    background: #fff !important;
    transform: translateY(-50%) scale(1.08);
}

.wpcm-nb3-arrow:focus-visible,
.wpcm-nb3-dot:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--wpcm-color-accent) 45%, white);
    outline-offset: 3px;
}

.wpcm-nb3-arrow-prev { left: 18px !important; }
.wpcm-nb3-arrow-next { right: 18px !important; }
.wpcm-nb3-arrow svg { width: 20px; height: 20px; fill: currentColor; }

.wpcm-nb3-dots {
    position: absolute !important;
    z-index: 13 !important;
    bottom: 20px !important;
    left: 50% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px !important;
    margin: 0 !important;
    padding: 8px 11px !important;
    background: rgba(255, 255, 255, .88);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 999px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .12);
    backdrop-filter: blur(10px);
    transform: translateX(-50%);
}

.wpcm-nb3-dot {
    width: 8px !important;
    height: 8px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #b8c0cc !important;
    border: 0 !important;
    border-radius: 999px !important;
    cursor: pointer;
    transition: width .25s ease, background .25s ease;
}

.wpcm-nb3-dot.active {
    width: 24px !important;
    background: var(--wpcm-color-accent) !important;
}

.wpcm-nb3-banner {
    margin-top: 20px;
    margin-bottom: 20px;
    overflow: hidden;
    text-align: center;
}

.wpcm-nb3-banner img,
.wpcm-nb3-banner iframe {
    max-width: 100%;
}

.wpcm-nb3-cards {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: var(--wpcm-gap) !important;
    width: 100% !important;
    margin: var(--wpcm-gap) 0 0 !important;
    padding: 0 !important;
}

.wpcm-nb3-card {
    position: relative !important;
    min-width: 0;
    aspect-ratio: 16 / 10;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #111827;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: calc(var(--wpcm-border-radius) - 3px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .10);
}

.wpcm-nb3-card-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    color: #fff !important;
}

.wpcm-nb3-card-image {
    transition: transform .55s cubic-bezier(.22, 1, .36, 1), filter .35s ease;
}

.wpcm-nb3-card:hover .wpcm-nb3-card-image {
    filter: saturate(1.08) contrast(1.03);
    transform: scale(1.055);
}

.wpcm-nb3-card-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 0 !important;
    padding: clamp(16px, 2vw, 24px) !important;
    color: var(--wpcm-color-card-title) !important;
    background: linear-gradient(to top, rgba(4, 9, 18, .94) 0%, var(--wpcm-color-card-overlay) 42%, transparent 78%) !important;
}

.wpcm-nb3-card-category {
    margin: 0 0 9px !important;
    padding: 5px 9px !important;
    border-radius: 999px;
    font-size: 9px !important;
    line-height: 1.2 !important;
}

.wpcm-nb3-card-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--wpcm-color-card-title) !important;
    font-size: clamp(14px, 1.15vw, var(--wpcm-font-card-title)) !important;
    font-weight: 800 !important;
    line-height: 1.24 !important;
    letter-spacing: -.015em;
    text-wrap: balance;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.wpcm-nb3-card-meta {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px !important;
    color: rgba(255, 255, 255, .76) !important;
    font-size: 11px !important;
    font-weight: 500;
}

.wpcm-nb3-wrap .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 1100px) {
    .wpcm-nb3-slide {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    .wpcm-nb3-slide-content {
        padding: 34px 46px !important;
    }

    .wpcm-nb3-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .wpcm-nb3-wrap {
        width: calc(100% - 20px) !important;
        margin: 18px auto !important;
        padding: 8px !important;
        border-radius: calc(var(--wpcm-border-radius) + 2px);
    }

    .wpcm-nb3-slider {
        height: auto !important;
        min-height: 0;
    }

    .wpcm-nb3-slides {
        height: auto !important;
    }

    .wpcm-nb3-slide,
    .wpcm-nb3-slide.active {
        position: relative !important;
        inset: auto !important;
        display: none !important;
        grid-template-columns: 1fr !important;
        grid-template-areas: "image" "content" !important;
        height: auto !important;
        transform: none;
    }

    .wpcm-nb3-slide.active {
        display: grid !important;
    }

    .wpcm-nb3-slide-image {
        order: -1;
        height: clamp(220px, 62vw, 350px) !important;
    }

    .wpcm-nb3-slide-content {
        align-items: stretch;
        height: auto;
        min-height: 285px;
        padding: 32px 24px 58px !important;
    }

    .wpcm-nb3-slide-content::after {
        margin-top: 18px;
    }

    .wpcm-nb3-slide-title {
        font-size: clamp(23px, 7.4vw, 32px) !important;
        -webkit-line-clamp: 4;
    }

    .wpcm-nb3-slide-excerpt {
        font-size: 14px !important;
        -webkit-line-clamp: 5;
    }

    .wpcm-nb3-arrow {
        top: clamp(110px, 31vw, 175px) !important;
        width: 40px !important;
        height: 40px !important;
    }

    .wpcm-nb3-arrow-prev { left: 14px !important; }
    .wpcm-nb3-arrow-next { right: 14px !important; }

    .wpcm-nb3-dots {
        bottom: 16px !important;
        left: 50% !important;
    }

    .wpcm-nb3-cards {
        gap: 8px !important;
        margin-top: 8px !important;
    }

    .wpcm-nb3-card {
        aspect-ratio: 4 / 5;
        border-radius: calc(var(--wpcm-border-radius) - 7px);
    }

    .wpcm-nb3-card-overlay {
        padding: 14px !important;
    }

    .wpcm-nb3-card-title {
        font-size: 13px !important;
        -webkit-line-clamp: 4;
    }

    .wpcm-nb3-card-meta {
        font-size: 10px !important;
    }
}

@media (max-width: 420px) {
    .wpcm-nb3-slide-excerpt {
        -webkit-line-clamp: 2;
    }

    .wpcm-nb3-cards {
        grid-template-columns: 1fr !important;
    }

    .wpcm-nb3-card {
        aspect-ratio: 16 / 10;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wpcm-nb3-wrap *,
    .wpcm-nb3-wrap *::before,
    .wpcm-nb3-wrap *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}
