:root {
    --vzn-brown: #5E2F06;
    --vzn-brown-dark: #180B00;
    --vzn-green: #5D682D;
    --vzn-cream: #F3EEE0;
    --vzn-peach: #EAD2C0;
    --vzn-peach-dark: #DAB398;
    --vzn-ink: #180B00;
    --vzn-muted: #5A5A5A;
    --vzn-white: #FFFFFF;
    --vzn-dark: #1F2012;
    --vzn-border: rgba(59, 61, 35, .17);
    --vzn-container: 1140px;
    --vzn-radius: 20px;
    --vzn-shadow: 0 18px 55px rgba(24, 11, 0, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--vzn-ink);
    background: #fff;
    font-family: "Inter", Arial, sans-serif;
    font-size: 17px;
    line-height: 1.55;
    overflow-x: hidden;
}
body.admin-bar .vzn-header { top: 32px; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
.vzn-container { width: min(var(--vzn-container), calc(100% - 40px)); margin-inline: auto; }
.vzn-main { overflow: clip; }
.vzn-icon { width: 1.35em; height: 1.35em; flex: 0 0 auto; }
.screen-reader-text,
.vzn-skip-link { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.vzn-skip-link:focus { width: auto; height: auto; clip: auto; top: 8px; left: 8px; z-index: 99999; padding: 12px 18px; background: #fff; color: #000; }

/* Header */
.vzn-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(24, 11, 0, .05);

    transition:
        background-color .28s ease,
        border-color .28s ease,
        box-shadow .28s ease;
}
.vzn-header-inner {
    min-height: 88px;
    display: grid;
    grid-template-columns: minmax(150px, 235px) 1fr auto;
    align-items: center;
    gap: 20px;

    transition:
        min-height .28s ease,
        gap .28s ease;
}
.vzn-brand img,
.vzn-brand .custom-logo {
    width: 100%;
    max-width: 225px;
    max-height: 58px;
    object-fit: contain;
    object-position: left center;

    transition:
        max-width .28s ease,
        max-height .28s ease;
}
.vzn-menu a {
    transition:
        color .25s ease,
        transform .3s cubic-bezier(.22,.61,.36,1),
        padding .28s ease,
        font-size .28s ease;
}

.vzn-outline-btn {
    transition:
        background .2s ease,
        transform .2s ease,
        padding .28s ease,
        min-height .28s ease;
}
.vzn-nav { justify-self: center; }
.vzn-menu { list-style: none; display: flex; gap: 2px; padding: 0; margin: 0; align-items: center; }
.vzn-menu li { margin: 0; }
.vzn-menu a {
    display: block;
    padding: 12px 9px;
    color: var(--vzn-brown-dark);
    font-family: "Inter", sans-serif;
    font-size: 15px;
    font-weight: 300;
    transition: color .25s ease, transform .3s cubic-bezier(.22,.61,.36,1);
    will-change: transform;
}
.vzn-menu a:hover, .vzn-menu a:focus-visible {
    color: var(--vzn-brown);
    transform: translate3d(0, -5px, 0);
}
.vzn-header-actions { display: flex; gap: 9px; align-items: center; }
.vzn-outline-btn {
    border: 1px solid var(--vzn-brown);
    border-radius: 999px;
    padding: 10px 14px;
    color: var(--vzn-brown);
    font-family: "Inter Tight", sans-serif;
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    transition: background .2s ease, transform .2s ease;
}
.vzn-outline-btn:hover { background: var(--vzn-peach); transform: scale(.98); }
.vzn-menu-toggle { display: none; background: transparent; border: 0; padding: 8px; cursor: pointer; color: var(--vzn-brown); }
.vzn-menu-toggle .vzn-icon { width: 30px; height: 30px; }
.vzn-menu-close { display: none; }

/* Global headings/buttons */
h1, h2, h3 { margin-top: 0; }
.vzn-section-heading h2,
.vzn-help h2,
.vzn-audience h2,
.vzn-how h2,
.vzn-professionals h2,
.vzn-faq h2 {
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-weight: 400;
    letter-spacing: -.5px;
}
.vzn-section-heading h2 span,
.vzn-help h2 span,
.vzn-audience h2 span,
.vzn-how h2 span,
.vzn-professionals h2 span,
.vzn-faq h2 span,
.vzn-hero h1 span { color: var(--vzn-green); }
.vzn-section-heading-center { text-align: center; max-width: 760px; margin: 0 auto 38px; }
.vzn-section-heading-center h2 { font-size: 50px; line-height: 1.1; margin-bottom: 14px; }
.vzn-section-heading-center p { max-width: 650px; margin: 0 auto; color: var(--vzn-muted); font-size: 20px; line-height: 1.3; font-weight: 300; }
.vzn-primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px 34px;
    min-height: 58px;
    border-radius: 10px;
    background: linear-gradient(90deg, var(--vzn-peach), var(--vzn-peach-dark));
    color: var(--vzn-brown);
    font-family: "Inter Tight", sans-serif;
    font-size: 16px;
    font-weight: 500;
    transition: transform .2s ease, box-shadow .2s ease;
}
.vzn-primary-btn:hover, .vzn-primary-btn:focus-visible { transform: scale(.98); box-shadow: 0 8px 24px rgba(94, 47, 6, .12); }
/* Header compacto após rolagem */
.vzn-header.is-compact {
    background: rgba(255,255,255,.985);
    border-bottom-color: rgba(24, 11, 0, .09);
    box-shadow: 0 5px 20px rgba(24, 11, 0, .055);
}

.vzn-header.is-compact .vzn-header-inner {
    min-height: 66px;
}

.vzn-header.is-compact .vzn-brand img,
.vzn-header.is-compact .vzn-brand .custom-logo {
    max-width: 180px;
    max-height: 44px;
}

.vzn-header.is-compact .vzn-menu a {
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: 14px;
}

.vzn-header.is-compact .vzn-outline-btn {
    padding: 7px 12px;
    min-height: 38px;
}
/* Hero */
.vzn-hero {
    min-height: 690px;
    padding: 230px 0 70px;
    position: relative;
    isolation: isolate;
    background: #f0f0f0 var(--hero-bg) center center / cover no-repeat;
}
.vzn-hero-overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(243,238,224,.44) 0%, rgba(243,238,224,.30) 45%, rgba(255,255,255,0) 82%); }
.vzn-hero-inner { text-align: center; display: flex; flex-direction: column; align-items: center; }
.vzn-hero h1 {
    max-width: 760px;
    margin: 0 auto 16px;
    color: var(--vzn-brown);
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-size: clamp(54px, 6vw, 80px);
    line-height: 1.11;
    font-weight: 400;
    letter-spacing: -.5px;
}
.vzn-hero p { max-width: 650px; margin: 0 auto 28px; color: var(--vzn-brown-dark); font-size: 20px; line-height: 1.25; font-weight: 300; }

/* Optional classic editor content */
.vzn-classic-content { padding: 54px 0; background: #fff; }
.vzn-prose { max-width: 880px; }
.vzn-prose h1, .vzn-prose h2, .vzn-prose h3 { font-family: "Playfair Display", Georgia, "Times New Roman", serif; font-weight: 400; color: var(--vzn-brown); }
.vzn-prose a { color: var(--vzn-green); text-decoration: underline; }

/* Help */
.vzn-help {
    position: relative;
    padding: 68px 0 56px;
    background: var(--vzn-cream) var(--help-bg) bottom center / cover no-repeat;
}
.vzn-help-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 58px; align-items: start; }
.vzn-help-heading { position: sticky; top: 125px; padding-top: 28px; }
.vzn-help h2 { font-size: 50px; line-height: 1.2; color: var(--vzn-brown-dark); max-width: 430px; margin: 0; }
.vzn-help-cards { display: grid; gap: 12px; }
.vzn-info-card {
    background: #fff;
    border: 1px solid #c2c2c2;
    border-radius: 10px;
    padding: 18px 20px;
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 18px;
    align-items: center;
}
.vzn-icon-wrap, .vzn-step-icon { color: var(--vzn-green); }
.vzn-icon-wrap .vzn-icon { width: 54px; height: 54px; }
.vzn-info-card h3 { color: var(--vzn-brown); font-size: 20px; font-weight: 400; margin: 0 0 6px; }
.vzn-info-card p { font-family: "Inter Tight", sans-serif; font-size: 17px; line-height: 1.3; font-weight: 300; margin: 0; }

/* Marquee */
.vzn-marquee { overflow: hidden; background: var(--vzn-green); color: #fff; padding: 12px 0; }
.vzn-marquee-track { display: flex; width: max-content; animation: vzn-marquee 90s linear infinite; }
.vzn-marquee-track span { flex: 0 0 auto; white-space: nowrap; padding: .3em .45em; font-size: 15px; font-weight: 500; }
@keyframes vzn-marquee { to { transform: translateX(-50%); } }

/* Audience */
/*
 * Reprodução do efeito original do Elementor. No desktop, a imagem é o
 * background da SEÇÃO inteira (não da coluna), com 45% da largura do
 * viewport, posição top left e background-attachment: fixed. Assim, a
 * seção/conteúdo passa sobre uma imagem fixa e produz o parallax original.
 * A coluna esquerda existe apenas para reservar os 45,6% do layout.
 */
.vzn-audience {
    display: grid;
    grid-template-columns: 45.6% 54.4%;
    min-height: 565px;
    padding: 50px 0;
    background-color: #fff;
    background-image: var(--vzn-audience-bg);
    background-position: top left;
    background-repeat: no-repeat;
    background-size: 45% auto;
    background-attachment: scroll;
}
.vzn-audience-image {
    position: relative;
    min-width: 0;
    background: transparent;
}
.vzn-audience-image img {
    display: none;
}
.vzn-audience-copy { display: grid; place-items: center; padding: 70px max(24px, calc((100vw - 1140px)/2)) 70px 40px; }
.vzn-audience-content { width: min(100%, 560px); }
.vzn-audience h2 { font-size: 50px; line-height: 1.2; margin-bottom: 28px; }
.vzn-check-list, .vzn-plan-features { list-style: none; padding: 0; margin: 0; display: grid; gap: 13px; }
.vzn-check-list { margin-bottom: 30px; }
.vzn-check-list li, .vzn-plan-features li { display: flex; gap: 10px; align-items: flex-start; font-size: 19px; font-weight: 300; line-height: 1.35; }
.vzn-check-list .vzn-icon, .vzn-plan-features .vzn-icon { color: var(--vzn-green); margin-top: 2px; width: 22px; height: 22px; }

@media (min-width: 1025px) {
    .vzn-audience {
        background-attachment: fixed;
    }
}

/* Services */
.vzn-services { padding: 62px 0 72px; background: var(--vzn-cream) var(--services-bg) center / cover fixed no-repeat; }
.vzn-flip-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; max-width: 1000px; margin: 0 auto; }
.vzn-flip-card { display: block; width: 100%; height: 220px; border: 0; padding: 0; background: transparent; perspective: 1100px; cursor: pointer; text-align: left; }
.vzn-flip-inner { position: relative; display: block; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.vzn-flip-card:hover .vzn-flip-inner,
.vzn-flip-card:focus-visible .vzn-flip-inner,
.vzn-flip-card.is-flipped .vzn-flip-inner { transform: rotateY(180deg); }
.vzn-flip-face {
    position: absolute; inset: 0; backface-visibility: hidden; border-radius: 20px; padding: 26px 28px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden;
}
.vzn-flip-front { background: #fff; border: 1px solid var(--vzn-border); }
.vzn-flip-back { background: var(--vzn-green); color: #fff; transform: rotateY(180deg); }
.vzn-service-icon { color: var(--vzn-green); margin-bottom: auto; }
.vzn-service-icon .vzn-icon { width: 42px; height: 42px; }
.vzn-card-title { font-family: "Playfair Display", Georgia, "Times New Roman", serif; font-size: 27px; line-height: 1.2; margin-bottom: 8px; }
.vzn-card-text { font-size: 17px; font-weight: 300; line-height: 1.35; }

/* Rotating phrase */
.vzn-rotator { background: var(--vzn-peach); padding: 38px 0; text-align: center; }
.vzn-rotator p { margin: 0; font-family: "Playfair Display", Georgia, "Times New Roman", serif; font-size: 45px; line-height: 1.15; color: var(--vzn-brown); }
.vzn-rotator-word { color: var(--vzn-green); display: inline-block; transition: opacity .25s ease, transform .25s ease; }
.vzn-rotator-word.is-changing { opacity: 0; transform: translateY(-10px); }

/* How it works */
.vzn-how { padding: 68px 0 76px; background: #fff var(--how-bg) center / cover no-repeat; }
.vzn-how-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; margin-bottom: 36px; }
.vzn-how h2 { font-size: 50px; line-height: 1.15; margin: 0; white-space: pre-line; }
.vzn-how-intro > p { font-size: 20px; line-height: 1.35; font-weight: 300; margin: 0 0 6px; color: var(--vzn-muted); }
.vzn-how-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.vzn-step-card { background: #fff; border: 1px solid var(--vzn-border); border-radius: 20px; padding: 28px; min-height: 285px; position: relative; box-shadow: var(--vzn-shadow); }
.vzn-step-number { position: absolute; top: 18px; right: 22px; color: rgba(93,104,45,.2); font-family: "Playfair Display", Georgia, "Times New Roman", serif; font-size: 42px; }
.vzn-step-icon .vzn-icon { width: 52px; height: 52px; }
.vzn-step-card h3 { font-family: "Playfair Display", Georgia, "Times New Roman", serif; font-size: 26px; line-height: 1.2; margin: 50px 0 10px; font-weight: 400; color: var(--vzn-brown); }
.vzn-step-card p { margin: 0; font-weight: 300; }

/* Plans */
.vzn-plans { padding: 65px 0 78px; background: #fff; }
.vzn-plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
.vzn-plan-card { border-radius: 10px; padding: 30px; background: var(--vzn-green); color: #fff; display: flex; flex-direction: column; min-height: 535px; }
.vzn-plan-featured { background: #1f1f1f; transform: translateY(-8px); box-shadow: 0 20px 50px rgba(0,0,0,.16); }
.vzn-plan-logo { width: 110px; max-height: 48px; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); opacity: .9; margin-bottom: 20px; }
.vzn-plan-card h3 { font-family: "Playfair Display", Georgia, "Times New Roman", serif; font-size: 31px; font-weight: 400; margin: 0 0 2px; }
.vzn-plan-sessions { margin: 0 0 24px; opacity: .9; font-weight: 300; }
.vzn-plan-features { gap: 12px; margin-bottom: 24px; }
.vzn-plan-features li { font-size: 16px; }
.vzn-plan-features .vzn-icon { color: var(--vzn-peach); }
.vzn-plan-price { font-family: "Playfair Display", Georgia, "Times New Roman", serif; font-size: 42px; margin: auto 0 20px; text-align: center; }
.vzn-plan-btn { width: 100%; }

/* Logos */
.vzn-logos { overflow: hidden; border-top: 1px solid #eee; border-bottom: 1px solid #eee; padding: 18px 0; background: #fff; }
.vzn-logo-track { display: flex; width: max-content; align-items: center; gap: 22px; animation: vzn-logo-scroll 40s linear infinite; }
.vzn-logo-track img { width: 180px; height: 48px; object-fit: contain; flex: 0 0 auto; }
@keyframes vzn-logo-scroll { to { transform: translateX(-50%); } }

/* Professionals */
.vzn-professionals { padding: 65px 0 70px; background: #fff; overflow: hidden; }
.vzn-professionals h2 { font-size: 50px; line-height: 1.15; max-width: 800px; margin: 0 auto 42px; text-align: center; }
.vzn-professionals-carousel { position: relative; }
.vzn-professionals-viewport { overflow: hidden; width: 100%; }
.vzn-professionals-track {
    display: flex;
    gap: 24px;
    transform: translate3d(0,0,0);
    transition: transform .68s cubic-bezier(.22,.61,.36,1);
    will-change: transform;
}
.vzn-professional-card {
    flex: 0 0 calc((100% - 48px) / 3);
    min-width: 0;
    border-radius: 20px;
    overflow: hidden;
    background: var(--vzn-cream);
    box-shadow: 0 12px 34px rgba(24,11,0,.07);
}
.vzn-professional-photo { aspect-ratio: 4 / 5; overflow: hidden; background: #e7dfd2; }
.vzn-professional-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center top; transition: transform .5s ease; }
.vzn-professional-card:hover .vzn-professional-photo img { transform: scale(1.035); }
.vzn-professional-placeholder {
    width: 100%; height: 100%; display: grid; place-items: center;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(58px, 7vw, 92px); color: var(--vzn-green); background: linear-gradient(145deg, #f3eee0, #ead2c0);
}
.vzn-professional-info { padding: 22px 22px 25px; text-align: center; }
.vzn-professional-info h3 { margin: 0; color: var(--vzn-brown); font-family: "Playfair Display", Georgia, serif; font-size: 27px; line-height: 1.15; font-weight: 400; }
.vzn-professional-info p { margin: 14px auto 0; color: var(--vzn-muted); font-size: 15px; line-height: 1.55; font-weight: 300; max-width: 32em; }
.vzn-professional-details { display: grid; gap: 11px; margin-top: 16px; text-align: left; }
.vzn-professional-detail { padding-top: 10px; border-top: 1px solid rgba(93,104,45,.15); }
.vzn-professional-detail-label { display: block; margin-bottom: 3px; color: var(--vzn-green); font-size: 11px; line-height: 1.2; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.vzn-professional-detail-value { display: block; color: var(--vzn-muted); font-size: 14px; line-height: 1.45; font-weight: 300; }
.vzn-professional-features { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 12px; }
.vzn-professional-features span { padding: 5px 9px; border: 1px solid rgba(93,104,45,.22); border-radius: 999px; color: var(--vzn-green); background: rgba(255,255,255,.56); font-size: 12px; line-height: 1.2; }
.vzn-professionals-arrow {
    position: absolute; z-index: 4; top: 43%; width: 46px; height: 46px; border: 0; border-radius: 50%;
    display: grid; place-items: center; padding: 0; background: var(--vzn-green); color: #fff; cursor: pointer;
    box-shadow: 0 8px 24px rgba(24,11,0,.18); transition: opacity .2s ease, transform .2s ease;
}
.vzn-professionals-arrow:hover:not(:disabled) { transform: scale(1.08); }
.vzn-professionals-arrow:disabled { opacity: .22; cursor: default; }
.vzn-professionals-arrow .vzn-icon { width: 20px; height: 20px; transform: rotate(45deg); }
.vzn-professionals-prev { left: -23px; }
.vzn-professionals-prev .vzn-icon { transform: rotate(225deg); }
.vzn-professionals-next { right: -23px; }
.vzn-professionals-dots { display: flex; justify-content: center; gap: 8px; margin-top: 27px; min-height: 10px; }
.vzn-professionals-dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(93,104,45,.24); cursor: pointer; transition: width .25s ease, border-radius .25s ease, background .25s ease; }
.vzn-professionals-dot.is-active { width: 26px; border-radius: 999px; background: var(--vzn-green); }
.vzn-professionals-media { border-radius: 20px; overflow: hidden; background: var(--vzn-cream); }
.vzn-professionals-media img { width: 100%; max-height: 560px; object-fit: cover; object-position: center; }


.vzn-professional-card { display: flex; flex-direction: column; }
.vzn-professional-info { display: flex; flex-direction: column; flex: 1 1 auto; }
.vzn-professional-cta {
    margin-top: auto;
    padding-top: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--vzn-brown);
    font-family: "Inter Tight", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .01em;
    transition: color .2s ease, transform .2s ease;
}
.vzn-professional-cta .vzn-icon { width: 18px; height: 18px; transform: rotate(45deg);}
.vzn-professional-cta:hover, .vzn-professional-cta:focus-visible { color: var(--vzn-green); transform: translateY(-2px); }

/* Página individual do profissional */
.vzn-professional-single { background: #fff; }
.vzn-professional-hero { padding: 72px 0 82px; background: linear-gradient(135deg, #fff 0%, var(--vzn-cream) 100%); }
.vzn-professional-hero-grid { display: grid; grid-template-columns: minmax(340px, .85fr) 1.15fr; gap: 72px; align-items: center; }
.vzn-professional-hero-photo { min-height: 590px; border-radius: 26px; overflow: hidden; background: var(--vzn-peach); box-shadow: var(--vzn-shadow); }
.vzn-professional-hero-photo img { width: 100%; height: 100%; min-height: 590px; object-fit: cover; object-position: center top; }
.vzn-professional-hero-photo .vzn-professional-placeholder { min-height: 590px; }
.vzn-professional-back { display: inline-block; margin-bottom: 34px; color: var(--vzn-muted); font-size: 12px; font-weight: 600; letter-spacing: .08em; }
.vzn-professional-back:hover { color: var(--vzn-green); }
.vzn-professional-kicker { margin: 0 0 10px; color: var(--vzn-green); font-family: "Inter Tight", sans-serif; font-size: 12px; line-height: 1.25; font-weight: 600; letter-spacing: .11em; }
.vzn-professional-hero-copy h1 { margin: 0 0 22px; color: var(--vzn-brown); font-family: "Playfair Display", Georgia, serif; font-size: clamp(54px, 6vw, 78px); line-height: 1.02; font-weight: 400; letter-spacing: -.02em; }
.vzn-professional-lead { max-width: 700px; margin: 0; color: var(--vzn-muted); font-size: 19px; line-height: 1.7; font-weight: 300; }
.vzn-professional-profile-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.vzn-professional-profile-tags span { padding: 7px 11px; border: 1px solid rgba(93,104,45,.22); border-radius: 999px; color: var(--vzn-green); background: rgba(255,255,255,.7); font-size: 13px; }
.vzn-professional-video-section { padding: 86px 0; background: #fff; color: #41451c; }
.vzn-professional-video-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; align-items: center; }
.vzn-professional-video-section .vzn-professional-kicker { color: #db6818; }
.vzn-professional-section-heading h2 { margin: 0 0 18px; font-family: "Playfair Display", Georgia, serif; font-size: 46px; line-height: 1.12; font-weight: 400; }
.vzn-professional-section-heading > p:last-child { margin: 0; color: #623009; font-size: 17px; line-height: 1.6; font-weight: 600; }
.vzn-professional-video-wrap { overflow: hidden; border-radius: 22px; background: #000; box-shadow: 0 28px 65px rgba(0,0,0,.28); }
.vzn-professional-video-frame { position: relative; aspect-ratio: 16 / 9; }
.vzn-professional-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vzn-professional-video-native { display: block; width: 100%; height: auto; max-height: 680px; background: #000; }
.vzn-professional-video-link { padding: 40px; text-align: center; background: #fff; }
.vzn-professional-details-section { padding: 88px 0 98px; background: var(--vzn-cream); }
.vzn-professional-section-heading-center { max-width: 820px; margin: 0 auto 46px; text-align: center; }
.vzn-professional-details-section .vzn-professional-section-heading h2 { color: var(--vzn-brown-dark); }
.vzn-professional-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; max-width: 980px; margin: 0 auto; }
.vzn-professional-detail-card { padding: 27px 30px; border: 1px solid rgba(93,104,45,.16); border-radius: 18px; background: rgba(255,255,255,.78); }
.vzn-professional-detail-card > span { display: block; margin-bottom: 8px; color: var(--vzn-green); font-size: 12px; line-height: 1.2; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.vzn-professional-detail-card p { margin: 0; color: var(--vzn-muted); font-size: 16px; line-height: 1.55; font-weight: 300; }
.vzn-professional-experience-card { grid-column: 1 / -1; }
.vzn-professional-experience-card ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.vzn-professional-experience-card li { position: relative; padding-left: 22px; color: var(--vzn-muted); font-size: 16px; line-height: 1.55; font-weight: 300; }
.vzn-professional-experience-card li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--vzn-green); font-weight: 600; }
.vzn-professional-final-cta { padding: 70px 0; background: #fff; }
.vzn-professional-final-card { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 38px 42px; border-radius: 24px; background: var(--vzn-peach); }
.vzn-professional-final-card h2 { max-width: 660px; margin: 0; color: var(--vzn-brown); font-family: "Playfair Display", Georgia, serif; font-size: 39px; line-height: 1.15; font-weight: 400; }
.vzn-professional-not-found { min-height: 60vh; padding: 110px 0; text-align: center; }
.vzn-professional-not-found h1 { font-family: "Playfair Display", Georgia, serif; font-size: 54px; font-weight: 400; color: var(--vzn-brown); }
.vzn-professional-not-found .vzn-primary-btn { margin-top: 20px; }

/* FAQ */
.vzn-faq { padding: 68px 0 76px; background: var(--vzn-cream); }
.vzn-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.vzn-faq-title { position: sticky; top: 130px; }
.vzn-faq h2 { font-size: 50px; line-height: 1.15; margin: 0; }
.vzn-accordion { border-top: 1px solid rgba(24,11,0,.18); }
.vzn-accordion-item { border-bottom: 1px solid rgba(24,11,0,.18); }
.vzn-accordion-item h3 { margin: 0; }
.vzn-accordion-button { width: 100%; border: 0; background: transparent; padding: 22px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; text-align: left; cursor: pointer; font-size: 18px; font-weight: 400; }
.vzn-accordion-plus { width: 20px; height: 20px; position: relative; flex: 0 0 auto; }
.vzn-accordion-plus::before, .vzn-accordion-plus::after { content: ""; position: absolute; background: var(--vzn-green); left: 50%; top: 50%; transform: translate(-50%,-50%); transition: transform .2s ease; }
.vzn-accordion-plus::before { width: 18px; height: 2px; }
.vzn-accordion-plus::after { width: 2px; height: 18px; }
.vzn-accordion-button[aria-expanded="true"] .vzn-accordion-plus::after { transform: translate(-50%,-50%) rotate(90deg); }
.vzn-accordion-panel { padding: 0 44px 22px 0; color: var(--vzn-muted); font-size: 16px; }
.vzn-accordion-panel p { margin: 0; }

/* Footer/basic pages */
.vzn-footer { padding: 26px 0; background: var(--vzn-dark); color: #fff; text-align: center; }
.vzn-footer p { margin: 0; font-size: 14px; font-weight: 300; }
.vzn-basic-page { padding: 20px 0 70px; min-height: 70vh; }
.vzn-footer-content {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    text-align: center;
}

.vzn-footer-menu {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.vzn-footer-menu a {
    color: inherit;
    text-decoration: none;
}

.vzn-footer-menu a:hover {
    color: #34c11c;
    text-decoration: underline;
}

.footer-menu-separator {
    opacity: 0.55;
}
/* Scroll reveal */
.vzn-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .55s ease, transform .55s cubic-bezier(.22,.61,.36,1);
}
.vzn-reveal.is-visible { opacity: 1; transform: none; }

/* FadeInUp usado originalmente pelo Elementor nas três etapas de
 * "Como funciona" e nos três cards de "Planos". */
.vzn-reveal-up {
    --vzn-reveal-final-y: 0px;
    transform: translate3d(0, calc(56px + var(--vzn-reveal-final-y)), 0);
}
.vzn-reveal-up.is-visible {
    transform: translate3d(0, var(--vzn-reveal-final-y), 0);
}
.vzn-how-grid .vzn-reveal-up:nth-child(1),
.vzn-plan-grid .vzn-reveal-up:nth-child(1) {
    transition-duration: .75s;
}
.vzn-how-grid .vzn-reveal-up:nth-child(2),
.vzn-plan-grid .vzn-reveal-up:nth-child(2) {
    transition-duration: 1.25s;
}
.vzn-how-grid .vzn-reveal-up:nth-child(3),
.vzn-plan-grid .vzn-reveal-up:nth-child(3) {
    transition-duration: 2s;
}
.vzn-plan-featured.vzn-reveal-up {
    --vzn-reveal-final-y: -8px;
}

/* O Elementor original usava fadeInRight nos cards desta seção.
 * O elemento entra pela direita e, portanto, desliza visualmente para a esquerda
 * até sua posição final quando se torna visível. */
.vzn-reveal-from-right { transform: translate3d(78px, 0, 0); }
.vzn-help-cards .vzn-reveal-from-right:nth-child(1) { transition-delay: 0s; }
.vzn-help-cards .vzn-reveal-from-right:nth-child(2) { transition-delay: .10s; }
.vzn-help-cards .vzn-reveal-from-right:nth-child(3) { transition-delay: .20s; }
.vzn-help-cards .vzn-reveal-from-right:nth-child(4) { transition-delay: .30s; }

@media (max-width: 1100px) {
    :root { --vzn-container: 960px; }
    .vzn-header-inner { grid-template-columns: 185px 1fr auto; gap: 12px; }
    .vzn-menu a { padding-inline: 6px; font-size: 13px; }
    .vzn-outline-btn { padding: 9px 10px; font-size: 12px; }
    .vzn-help-grid, .vzn-faq-grid { gap: 40px; }
}

@media (max-width: 1024px) {
    body.admin-bar .vzn-header { top: 32px; }
    .vzn-header-inner { min-height: 78px; grid-template-columns: 1fr auto; }
    .vzn-brand img, .vzn-brand .custom-logo { max-width: 210px; }
    .vzn-header-actions { display: none; }
    .vzn-menu-toggle { display: inline-flex; align-items: center; justify-content: center; z-index: 2; }
    .vzn-nav {
        position: absolute;
        width:98%;
        inset: 100% 0 auto 0;
        background: #fff;
        border-top: 1px solid #eee;
        border-bottom: 1px solid #eee;
        padding: 12px 20px 18px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        transition: .2s ease;
    }
    .vzn-nav.is-open { opacity: 1; visibility: visible; transform: none; }
    .vzn-nav .vzn-menu { display: grid; gap: 0; max-width: 960px; margin: auto; }
    .vzn-nav .vzn-menu a { padding: 12px 4px; font-family: "Inter Tight", sans-serif; font-size: 15px; font-weight: 500; border-bottom: 1px solid #f1f1f1; }
    .vzn-menu-toggle[aria-expanded="true"] .vzn-menu-open { display: none; }
    .vzn-menu-toggle[aria-expanded="true"] .vzn-menu-close { display: inline-flex; }

    .vzn-hero { padding-top: 190px; min-height: 620px; }
    .vzn-help-grid, .vzn-faq-grid { grid-template-columns: 1fr; }
    .vzn-help-heading, .vzn-faq-title { position: static; text-align: center; }
    .vzn-help h2, .vzn-faq h2 { max-width: 700px; margin-inline: auto; }
    .vzn-audience { grid-template-columns: 1fr 1fr; }
    .vzn-audience-copy { padding: 55px 30px; }
    .vzn-audience h2 { font-size: 44px; }
    .vzn-plan-grid { gap: 12px; }
    .vzn-plan-card { padding: 24px; }
    .vzn-professional-card { flex-basis: calc((100% - 18px) / 2); }
    .vzn-professionals-track { gap: 18px; }
    .vzn-professionals-prev { left: 8px; }
    .vzn-professionals-next { right: 8px; }
    .vzn-professional-hero-grid { grid-template-columns: .9fr 1.1fr; gap: 40px; }
    .vzn-professional-hero-photo, .vzn-professional-hero-photo img, .vzn-professional-hero-photo .vzn-professional-placeholder { min-height: 500px; }
    .vzn-professional-video-grid { grid-template-columns: 1fr; gap: 36px; }
    .vzn-professional-section-heading { max-width: 720px; }
}

@media (max-width: 767px) {
    body.admin-bar .vzn-header { top: 46px; }
    .vzn-container { width: min(100% - 30px, 700px); }
    .vzn-header-inner { min-height: 72px; }
    .vzn-brand img, .vzn-brand .custom-logo { max-width: 190px; }
    .vzn-header.is-compact .vzn-header-inner {
        min-height: 60px;
    }
    
    .vzn-header.is-compact .vzn-brand img,
    .vzn-header.is-compact .vzn-brand .custom-logo {
        max-width: 165px;
        max-height: 40px;
    }
    .vzn-hero {
        min-height: 640px;
        padding: 270px 0 50px;
        background-image: var(--hero-bg-mobile);
        background-position: center top;
    }
    .vzn-hero-overlay { background: linear-gradient(180deg, rgba(243,238,224,.08) 0%, rgba(243,238,224,.74) 52%, var(--vzn-cream) 76%); }
    .vzn-hero h1 { max-width: 330px; font-size: 42px; line-height: 1.2; }
    .vzn-hero p { max-width: 310px; font-size: 15px; line-height: 1.3; }
    .vzn-primary-btn { padding: 17px 28px; font-size: 15px; min-height: 54px; }

    .vzn-help { padding: 42px 0 45px; background-position: bottom center; }
    .vzn-help h2, .vzn-audience h2, .vzn-how h2, .vzn-professionals h2, .vzn-faq h2, .vzn-section-heading-center h2 { font-size: 40px; line-height: 1.2; }
    .vzn-help-heading { padding-top: 0; }
    .vzn-info-card { grid-template-columns: 50px 1fr; gap: 10px; padding: 18px; }
    .vzn-icon-wrap .vzn-icon { width: 44px; height: 44px; }
    .vzn-info-card h3 { font-size: 19px; }
    .vzn-info-card p { font-size: 15px; }
    .vzn-marquee-track { animation-duration: 12s; }

    .vzn-audience { display: block; min-height: 0; padding: 0 0 50px; background-image: none; background-attachment: scroll; }
    .vzn-audience-image { min-height: 270px; }
    .vzn-audience-image img { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform: none !important; object-fit: cover; object-position: center center; }
    .vzn-audience-copy { padding: 34px 20px 48px; }
    .vzn-audience-content { width: 100%; }
    .vzn-check-list li { font-size: 16px; }

    .vzn-services { padding: 46px 0 52px; background-attachment: scroll; }
    .vzn-section-heading-center { margin-bottom: 26px; }
    .vzn-section-heading-center p { font-size: 15px; max-width: 300px; }
    .vzn-flip-grid { grid-template-columns: 1fr; gap: 12px; }
    .vzn-flip-card { height: 250px; }
    .vzn-card-title { font-size: 25px; }
    .vzn-card-text { font-size: 15px; }

    .vzn-rotator { padding: 30px 0; }
    .vzn-rotator p { font-size: 35px; line-height: 1.05; }
    .vzn-rotator-before, .vzn-rotator-word { display: block; }

    .vzn-how { padding: 48px 0 55px; }
    .vzn-how-intro { grid-template-columns: 1fr; gap: 12px; text-align: center; }
    .vzn-how-intro > p { font-size: 15px; }
    .vzn-how-grid { grid-template-columns: 1fr; }
    .vzn-step-card { min-height: 230px; }

    .vzn-plans { padding: 48px 0 56px; }
    .vzn-plan-grid { grid-template-columns: 1fr; gap: 14px; }
    .vzn-plan-card { min-height: auto; }
    .vzn-plan-featured { transform: none; }
    .vzn-plan-featured.vzn-reveal-up { --vzn-reveal-final-y: 0px; }
    .vzn-plan-price { margin-top: 28px; }

    .vzn-logo-track { gap: 12px; animation-duration: 24s; }
    .vzn-logo-track img { width: 120px; height: 38px; }

    .vzn-professionals { padding: 48px 0 52px; }
    .vzn-professionals h2 { margin-bottom: 28px; }
    .vzn-professionals-track { gap: 14px; }
    .vzn-professional-card { flex-basis: 100%; border-radius: 16px; }
    .vzn-professional-info { padding: 18px 18px 22px; }
    .vzn-professional-info h3 { font-size: 25px; }
    .vzn-professionals-prev { left: 8px; }
    .vzn-professionals-next { right: 8px; }
    .vzn-professionals-arrow { width: 42px; height: 42px; top: 40%; }
    .vzn-professionals-media { border-radius: 12px; }
    .vzn-professional-cta { padding-top: 18px; }

    .vzn-professional-hero { padding: 38px 0 52px; }
    .vzn-professional-hero-grid { grid-template-columns: 1fr; gap: 32px; }
    .vzn-professional-hero-photo, .vzn-professional-hero-photo img, .vzn-professional-hero-photo .vzn-professional-placeholder { min-height: 440px; }
    .vzn-professional-hero-photo { border-radius: 18px; }
    .vzn-professional-back { margin-bottom: 24px; }
    .vzn-professional-hero-copy h1 { font-size: 50px; }
    .vzn-professional-lead { font-size: 16px; }
    .vzn-professional-video-section { padding: 56px 0; }
    .vzn-professional-video-grid { gap: 28px; }
    .vzn-professional-section-heading h2 { font-size: 36px; }
    .vzn-professional-details-section { padding: 56px 0 64px; }
    .vzn-professional-section-heading-center { margin-bottom: 30px; }
    .vzn-professional-detail-grid { grid-template-columns: 1fr; gap: 12px; }
    .vzn-professional-experience-card { grid-column: auto; }
    .vzn-professional-final-cta { padding: 44px 0; }
    .vzn-professional-final-card { display: block; padding: 28px 24px; border-radius: 18px; }
    .vzn-professional-final-card h2 { font-size: 34px; }
    .vzn-professional-final-card .vzn-primary-btn { width: 100%; margin-top: 24px; padding-inline: 18px; }

    .vzn-faq { padding: 48px 0 54px; }
    .vzn-faq-grid { gap: 28px; }
    .vzn-accordion-button { font-size: 16px; padding: 18px 0; }
    .vzn-accordion-panel { padding-right: 28px; font-size: 15px; }
    .vzn-footer { padding: 22px 0; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .vzn-reveal { opacity: 1; transform: none; transition-delay: 0s !important; }
}

/* ==========================================================
   VIRTUZ AFILIAÇÃO 2026
========================================================== */

#virtuz-afiliacao-profissional-2026 {
    --vzaf26-marrom: #7b431f;
    --vzaf26-marrom-escuro: #573019;
    --vzaf26-oliva: #7d8129;
    --vzaf26-oliva-escuro: #65691f;
    --vzaf26-texto: #292929;
    --vzaf26-cinza: #646464;
    --vzaf26-borda: #dedbd3;
    --vzaf26-fundo: #ffffff;
    --vzaf26-bege: #f8f6f1;
    --vzaf26-creme: #f3eee5;

    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: var(--vzaf26-texto) !important;
    line-height: 1.6 !important;
}

#virtuz-afiliacao-profissional-2026,
#virtuz-afiliacao-profissional-2026 * {
    box-sizing: border-box !important;
}

#virtuz-afiliacao-profissional-2026 p,
#virtuz-afiliacao-profissional-2026 h1,
#virtuz-afiliacao-profissional-2026 h2,
#virtuz-afiliacao-profissional-2026 h3 {
    float: none !important;
    width: auto !important;
    max-width: none !important;
}

/* ==========================================================
   LARGURA
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-container {
    display: block !important;
    width: calc(100% - 48px) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* ==========================================================
   HERO
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-hero {
    display: block !important;
    width: 100% !important;
    padding: 78px 0 70px !important;
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #ffffff 62%,
            #f6f3eb 100%
        ) !important;
    border-bottom: 1px solid var(--vzaf26-borda) !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-hero-grid {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(330px, .75fr) !important;
    gap: 65px !important;
    align-items: center !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-eyebrow {
    display: block !important;
    margin: 0 0 12px !important;
    padding: 0 !important;

    color: var(--vzaf26-oliva) !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .11em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-title {
    display: block !important;

    margin: 0 0 22px !important;
    padding: 0 !important;

    color: var(--vzaf26-marrom) !important;

    font-size: clamp(38px, 4.4vw, 58px) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-hero-text {
    display: block !important;

    max-width: 750px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: var(--vzaf26-cinza) !important;

    font-size: 17px !important;
    line-height: 1.75 !important;
}

/* HERO BOX */

#virtuz-afiliacao-profissional-2026 .vzaf26-summary {
    display: block !important;
    position: relative !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 29px 30px !important;

    background: #ffffff !important;
    border: 1px solid var(--vzaf26-borda) !important;
    border-radius: 12px !important;

    box-shadow:
        0 12px 30px rgba(72, 53, 34, .08) !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-summary::before {
    content: "" !important;

    display: block !important;
    position: absolute !important;

    top: 0 !important;
    left: 28px !important;

    width: 70px !important;
    height: 4px !important;

    background: var(--vzaf26-oliva) !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-summary-title {
    display: block !important;

    margin: 0 0 13px !important;

    color: var(--vzaf26-marrom) !important;

    font-size: 21px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-summary p {
    display: block !important;

    margin: 0 0 15px !important;

    color: var(--vzaf26-cinza) !important;

    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* ==========================================================
   BOTÃO
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-button {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-height: 46px !important;

    margin: 4px 0 0 !important;
    padding: 12px 21px !important;

    background: var(--vzaf26-oliva) !important;
    border: 1px solid var(--vzaf26-oliva) !important;
    border-radius: 5px !important;

    color: #fff !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-decoration: none !important;
}

/* ==========================================================
   NAVEGAÇÃO
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-navigation {
    display: block !important;
    width: 100% !important;

    background: #fff !important;
    border-bottom: 1px solid var(--vzaf26-borda) !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-navigation-inner {
    display: flex !important;

    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;

    gap: 9px !important;

    min-height: 62px !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-navigation a {
    display: inline-flex !important;

    padding: 8px 13px !important;

    color: #65645f !important;

    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;

    text-decoration: none !important;
}

/* ==========================================================
   SEÇÕES
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-section {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 78px 0 !important;

    background: #fff !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-section-alt {
    background: var(--vzaf26-bege) !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-section-cream {
    background: var(--vzaf26-creme) !important;
}

/* CABEÇALHO DAS SEÇÕES */

#virtuz-afiliacao-profissional-2026 .vzaf26-heading {
    display: block !important;

    width: 100% !important;
    max-width: 820px !important;

    margin: 0 auto 42px !important;
    padding: 0 !important;

    text-align: center !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-heading-title {
    display: block !important;

    margin: 0 0 14px !important;

    color: var(--vzaf26-marrom) !important;

    font-size: clamp(29px, 3vw, 41px) !important;
    font-weight: 500 !important;
    line-height: 1.18 !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-heading-text {
    display: block !important;

    margin: 0 !important;

    color: var(--vzaf26-cinza) !important;

    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* ==========================================================
   REQUISITOS
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-requirements {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 22px !important;

    width: 100% !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-requirement {
    display: block !important;

    min-width: 0 !important;
    min-height: 190px !important;

    margin: 0 !important;
    padding: 26px !important;

    background: #fff !important;

    border: 1px solid var(--vzaf26-borda) !important;
    border-radius: 11px !important;

    box-shadow:
        0 6px 20px rgba(55, 42, 31, .045) !important;
}

/*
   IMPORTANTE:
   número + título ficam no MESMO grid.
*/

#virtuz-afiliacao-profissional-2026 .vzaf26-requirement-header {
    display: grid !important;

    grid-template-columns: 42px minmax(0, 1fr) !important;

    column-gap: 14px !important;

    align-items: center !important;

    width: 100% !important;

    margin: 0 0 15px !important;
    padding: 0 !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-requirement-number {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--vzaf26-oliva) !important;

    border-radius: 50% !important;

    color: #fff !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 40px !important;

    text-align: center !important;

    float: none !important;
    position: static !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-requirement-title {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--vzaf26-marrom) !important;

    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;

    float: none !important;
    position: static !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-requirement-text {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--vzaf26-cinza) !important;

    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* ==========================================================
   AVISO IMPORTANTE
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-important {
    display: grid !important;

    grid-template-columns: 50px minmax(0, 1fr) !important;

    align-items: center !important;
    gap: 18px !important;

    width: 100% !important;

    margin: 28px 0 0 !important;
    padding: 22px 25px !important;

    background: #f5f7eb !important;

    border: 1px solid #dfe4c2 !important;
    border-radius: 9px !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-important-symbol {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 44px !important;
    height: 44px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--vzaf26-oliva) !important;

    border-radius: 50% !important;

    color: #fff !important;

    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 44px !important;

    float: none !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-important-text {
    display: block !important;

    margin: 0 !important;

    color: #55574c !important;

    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* ==========================================================
   DUAS COLUNAS
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-columns {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    gap: 24px !important;

    width: 100% !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-panel {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 31px !important;

    background: #fff !important;

    border: 1px solid var(--vzaf26-borda) !important;
    border-radius: 11px !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-panel-title {
    display: block !important;

    margin: 0 0 21px !important;

    color: var(--vzaf26-marrom) !important;

    font-size: 22px !important;
    font-weight: 500 !important;
}

/* LISTA */

#virtuz-afiliacao-profissional-2026 .vzaf26-list {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-list-item {
    display: block !important;

    position: relative !important;

    margin: 0 !important;
    padding: 0 0 14px 27px !important;

    color: var(--vzaf26-cinza) !important;

    font-size: 14px !important;
    line-height: 1.65 !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-list-item::before {
    content: "✓" !important;

    position: absolute !important;

    left: 0 !important;
    top: 0 !important;

    color: var(--vzaf26-oliva) !important;

    font-weight: 800 !important;
}

/* ==========================================================
   BENEFÍCIOS
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-benefits {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 22px !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-benefit {
    display: block !important;

    min-height: 175px !important;

    margin: 0 !important;
    padding: 27px !important;

    background: #fff !important;

    border: 1px solid var(--vzaf26-borda) !important;
    border-radius: 11px !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-benefit-title {
    display: block !important;

    margin: 0 0 10px !important;

    color: var(--vzaf26-marrom) !important;

    font-size: 18px !important;
    font-weight: 600 !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-benefit-text {
    display: block !important;

    margin: 0 !important;

    color: var(--vzaf26-cinza) !important;

    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* ==========================================================
   PAGBANK
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-payment {
    display: block !important;

    overflow: hidden !important;

    width: 100% !important;

    background: #fff !important;

    border: 1px solid #ded4c7 !important;
    border-radius: 13px !important;

    box-shadow:
        0 12px 30px rgba(64, 47, 30, .07) !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-payment-top {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.4fr)
        minmax(300px, .6fr) !important;

    gap: 45px !important;

    padding: 38px !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-payment-badge {
    display: inline-flex !important;

    width: auto !important;

    margin: 0 0 14px !important;
    padding: 6px 10px !important;

    background: #ecefcf !important;

    border-radius: 20px !important;

    color: var(--vzaf26-oliva-escuro) !important;

    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;

    text-transform: uppercase !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-payment-title {
    display: block !important;

    margin: 0 0 16px !important;

    color: var(--vzaf26-marrom) !important;

    font-size: 28px !important;
    font-weight: 500 !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-payment-text {
    display: block !important;

    margin: 0 0 13px !important;

    color: var(--vzaf26-cinza) !important;

    font-size: 14px !important;
    line-height: 1.7 !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-payment-action {
    display: block !important;

    align-self: center !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 25px !important;

    background: #f8f7f2 !important;

    border: 1px solid var(--vzaf26-borda) !important;
    border-radius: 9px !important;
}

/* ==========================================================
   ALERTA PAGBANK
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-payment-alert {
    display: grid !important;

    grid-template-columns: 44px minmax(0, 1fr) !important;

    gap: 16px !important;
    align-items: start !important;

    width: 100% !important;

    margin: 25px 0 0 !important;
    padding: 21px 23px !important;

    background: #fff7e9 !important;

    border: 1px solid #ead7b7 !important;
    border-radius: 9px !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-payment-alert-symbol {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    height: 40px !important;

    margin: 0 !important;

    background: #a66a25 !important;

    border-radius: 50% !important;

    color: #fff !important;

    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 40px !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-payment-alert-text {
    display: block !important;

    margin: 0 !important;

    color: #6b5438 !important;

    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* ==========================================================
   ETAPAS
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-flow {
    display: grid !important;

    grid-template-columns:
        repeat(5, minmax(0, 1fr)) !important;

    gap: 18px !important;

    width: 100% !important;

    margin: 40px 0 0 !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-flow-item {
    display: block !important;

    min-width: 0 !important;
    min-height: 175px !important;

    margin: 0 !important;
    padding: 23px 20px !important;

    background: #fff !important;

    border: 1px solid var(--vzaf26-borda) !important;
    border-radius: 10px !important;

    text-align: left !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-flow-number {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;

    margin: 0 0 17px !important;
    padding: 0 !important;

    background: var(--vzaf26-oliva) !important;

    border-radius: 50% !important;

    color: #fff !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 42px !important;

    float: none !important;
    position: static !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-flow-title {
    display: block !important;

    margin: 0 0 8px !important;

    color: var(--vzaf26-marrom) !important;

    font-size: 17px !important;
    font-weight: 600 !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-flow-text {
    display: block !important;

    margin: 0 !important;

    color: var(--vzaf26-cinza) !important;

    font-size: 13px !important;
    line-height: 1.6 !important;
}

/* ==========================================================
   CTA
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzaf26-cta {
    display: block !important;

    width: 100% !important;

    padding: 65px 0 !important;

    background: var(--vzaf26-marrom) !important;

    text-align: center !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-cta-title {
    margin: 0 auto 13px !important;

    color: #fff !important;

    font-size: 36px !important;
    font-weight: 500 !important;
}

#virtuz-afiliacao-profissional-2026 .vzaf26-cta-text {
    max-width: 680px !important;

    margin: 0 auto 23px !important;

    color: rgba(255,255,255,.84) !important;

    font-size: 15px !important;
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 960px) {

    #virtuz-afiliacao-profissional-2026 .vzaf26-hero-grid,
    #virtuz-afiliacao-profissional-2026 .vzaf26-payment-top {
        grid-template-columns: 1fr !important;
    }

    #virtuz-afiliacao-profissional-2026 .vzaf26-requirements,
    #virtuz-afiliacao-profissional-2026 .vzaf26-benefits {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    #virtuz-afiliacao-profissional-2026 .vzaf26-flow {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {

    #virtuz-afiliacao-profissional-2026 .vzaf26-container {
        width: calc(100% - 28px) !important;
    }

    #virtuz-afiliacao-profissional-2026 .vzaf26-hero {
        padding: 52px 0 !important;
    }

    #virtuz-afiliacao-profissional-2026 .vzaf26-section {
        padding: 55px 0 !important;
    }

    #virtuz-afiliacao-profissional-2026 .vzaf26-requirements,
    #virtuz-afiliacao-profissional-2026 .vzaf26-benefits,
    #virtuz-afiliacao-profissional-2026 .vzaf26-columns,
    #virtuz-afiliacao-profissional-2026 .vzaf26-flow {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================
   CORREÇÃO CONTRA INTERFERÊNCIA DO main.css DO TEMA
========================================================== */

/* Garante que os textos dos avisos ocupem toda a coluna */
#virtuz-afiliacao-profissional-2026 .vzaf26-important-text,
#virtuz-afiliacao-profissional-2026 .vzaf26-payment-alert-text {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;

    position: static !important;

    text-align: left !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;

    line-height: 1.7 !important;
}


/* Negrito próprio da página */
#virtuz-afiliacao-profissional-2026 .vzaf26-inline-strong {
    display: inline !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;

    position: static !important;

    flex: none !important;
    grid-column: auto !important;
    grid-row: auto !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;

    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 700 !important;

    color: inherit !important;
    background: none !important;
    border: 0 !important;
}


/* Estrutura do aviso verde */
#virtuz-afiliacao-profissional-2026 .vzaf26-important {
    display: grid !important;

    grid-template-columns:
        44px minmax(0, 1fr) !important;

    column-gap: 18px !important;
    row-gap: 0 !important;

    align-items: start !important;

    width: 100% !important;

    margin: 28px 0 0 !important;
    padding: 24px 27px !important;
}


/* Estrutura do alerta de pagamento */
#virtuz-afiliacao-profissional-2026 .vzaf26-payment-alert {
    display: grid !important;

    grid-template-columns:
        40px minmax(0, 1fr) !important;

    column-gap: 17px !important;
    row-gap: 0 !important;

    align-items: start !important;

    width: 100% !important;

    margin: 25px 0 0 !important;
    padding: 22px 24px !important;
}


/* Círculos */
#virtuz-afiliacao-profissional-2026 .vzaf26-important-symbol,
#virtuz-afiliacao-profissional-2026 .vzaf26-payment-alert-symbol {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    float: none !important;
    clear: none !important;

    position: static !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1 !important;

    text-align: center !important;
}

/* ==========================================================
   AVISOS VIRTUZ - COMPONENTE TOTALMENTE ISOLADO
========================================================== */

#virtuz-afiliacao-profissional-2026 .vzsafe2026-box {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;

    column-gap: 20px !important;
    row-gap: 0 !important;

    align-items: start !important;

    width: 100% !important;
    max-width: none !important;

    margin: 28px 0 0 !important;
    padding: 24px 27px !important;

    border-radius: 10px !important;

    float: none !important;
    clear: both !important;

    position: relative !important;

    overflow: visible !important;
}


/* verde */
#virtuz-afiliacao-profissional-2026 .vzsafe2026-box-green {
    background: #f5f7eb !important;
    border: 1px solid #dce2bd !important;
}


/* laranja */
#virtuz-afiliacao-profissional-2026 .vzsafe2026-box-orange {
    background: #fff7e9 !important;
    border: 1px solid #ead5ae !important;
}


/* ÍCONE */

#virtuz-afiliacao-profissional-2026 .vzsafe2026-icon {
    grid-column: 1 !important;
    grid-row: 1 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 46px !important;
    height: 46px !important;

    min-width: 46px !important;
    max-width: 46px !important;

    min-height: 46px !important;
    max-height: 46px !important;

    margin: 0 !important;
    padding-bottom: 23px !important;

    border-radius: 50% !important;

    color: #fff !important;

    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-align: center !important;

    float: none !important;
    clear: none !important;

    position: static !important;

    white-space: nowrap !important;
}

#virtuz-afiliacao-profissional-2026
.vzsafe2026-box-green
.vzsafe2026-icon {
    background: #838824 !important;
}

#virtuz-afiliacao-profissional-2026
.vzsafe2026-box-orange
.vzsafe2026-icon {
    background: #ae6c23 !important;
}


/* CONTEÚDO */

#virtuz-afiliacao-profissional-2026 .vzsafe2026-content {
    grid-column: 2 !important;
    grid-row: 1 !important;

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;

    position: static !important;

    text-align: left !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}


/* TÍTULO DO AVISO */

#virtuz-afiliacao-profissional-2026 .vzsafe2026-label {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 0 5px !important;
    padding: 0 !important;

    color: #2f3028 !important;

    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;

    float: none !important;
    clear: both !important;

    position: static !important;

    white-space: normal !important;
    word-break: normal !important;
}


/* TEXTO NORMAL */

#virtuz-afiliacao-profissional-2026 .vzsafe2026-copy {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #55574f !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;

    float: none !important;
    clear: both !important;

    position: static !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}


/* LINHA DESTACADA */

#virtuz-afiliacao-profissional-2026 .vzsafe2026-emphasis {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 5px 0 0 !important;
    padding: 0 !important;

    color: #34352d !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.7 !important;

    float: none !important;
    clear: both !important;

    position: static !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}


/* MOBILE */

@media (max-width: 600px) {

    #virtuz-afiliacao-profissional-2026 .vzsafe2026-box {
        grid-template-columns: 42px minmax(0, 1fr) !important;

        column-gap: 14px !important;

        padding: 20px 18px !important;
    }

    #virtuz-afiliacao-profissional-2026 .vzsafe2026-icon {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;

        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;

        font-size: 15px !important;
    }
}

/* ==========================================================
   NORMALIZAÇÃO DO MENU INTERNO DA AFILIAÇÃO
========================================================== */

#virtuz-afiliacao-profissional-2026
.vzaf26-navigation
.vzaf26-navigation-inner > a,

#virtuz-afiliacao-profissional-2026
.vzaf26-navigation
.vzaf26-navigation-inner > a:link,

#virtuz-afiliacao-profissional-2026
.vzaf26-navigation
.vzaf26-navigation-inner > a:visited,

#virtuz-afiliacao-profissional-2026
.vzaf26-navigation
.vzaf26-navigation-inner > a:active,

#virtuz-afiliacao-profissional-2026
.vzaf26-navigation
.vzaf26-navigation-inner > a:focus {

    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 8px 15px !important;

    float: none !important;

    color: #56554f !important;

    background: transparent !important;

    border: 0 !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;

    letter-spacing: 0 !important;
    text-decoration: none !important;
    text-transform: none !important;

    white-space: nowrap !important;

    box-shadow: none !important;
}


/*
 * Se o WordPress/editor tiver colocado strong, span,
 * b, em ou qualquer outro elemento dentro do link,
 * ele passa a usar EXATAMENTE o estilo do link.
 */
#virtuz-afiliacao-profissional-2026
.vzaf26-navigation
.vzaf26-navigation-inner > a > * {

    display: inline !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;

    font-family: inherit !important;
    font-size: inherit !important;
    font-style: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;

    letter-spacing: inherit !important;
    text-decoration: none !important;
    text-transform: inherit !important;
}


/* Hover proposital */
#virtuz-afiliacao-profissional-2026
.vzaf26-navigation
.vzaf26-navigation-inner > a:hover {

    color: var(--vzaf26-marrom) !important;
    background: #f8f6f1 !important;

    border-radius: 5px !important;
}