
:root {
    --vml-green-950: #294b2d;
    --vml-green-900: #345b37;
    --vml-green-800: #446f43;
    --vml-green-700: #587d4f;
    --vml-green-200: #e7ecdc;
    --vml-green-100: #f3f5eb;
    --vml-orange-700: #c95f22;
    --vml-orange-600: #db6d2c;
    --vml-orange-200: #f5cfaf;
    --vml-orange-100: #fff0e2;
    --vml-cream: #fbf7ef;
    --vml-cream-2: #f5eee1;
    --vml-white: #fffdf9;
    --vml-text: #24251f;
    --vml-muted: #5e5e55;
    --vml-border: #dfd3c1;
    --vml-shadow: 0 18px 48px rgba(59, 64, 48, .09);
    --vml-radius: 24px;
}

#vml-page,
#vml-page * {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body:has(#vml-page),
body.vml-has-landing {
    margin: 0;
    overflow-x: clip;
}

/*
 * Compatibilidade com temas de blocos / Full Site Editing.
 * Quando a landing é inserida por shortcode, alguns temas limitam o bloco a
 * ~600px. O plugin 2.1 usa template próprio automaticamente e mantém estes
 * resets como fallback para qualquer wrapper residual do tema.
 */
body.vml-has-landing .wp-site-blocks,
body.vml-has-landing main,
body.vml-has-landing .entry-content,
body.vml-has-landing .wp-block-post-content,
body.vml-has-landing .wp-block-shortcode {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.vml-has-landing .wp-site-blocks,
body.vml-has-landing .entry-content,
body.vml-has-landing .wp-block-post-content,
body.vml-has-landing .wp-block-shortcode {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.vml-has-landing .wp-block-post-content > *,
body.vml-has-landing .wp-block-shortcode > * {
    max-width: none !important;
}

#vml-page {
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: hidden;
    color: var(--vml-text);
    background:
        radial-gradient(circle at 0 12%, rgba(231, 236, 220, .55), transparent 18%),
        radial-gradient(circle at 100% 36%, rgba(245, 207, 175, .26), transparent 14%),
        var(--vml-cream);
    font-family: "DM Sans", Arial, sans-serif;
    line-height: 1.55;
}

#vml-page h1,
#vml-page h2 {
    color: var(--vml-green-950);
    font-family: "Playfair Display", Georgia, serif;
    line-height: 1.09;
}

#vml-page h1,
#vml-page h2,
#vml-page h3,
#vml-page p,
#vml-page figure,
#vml-page blockquote {
    margin-top: 0;
}

#vml-page a {
    text-decoration: none;
}

.vml-container {
    width: min(1240px, calc(100% - 48px));
    margin-inline: auto;
}

.vml-section {
    position: relative;
    padding: 68px 0;
}

.vml-section--tight {
    padding: 28px 0 52px;
}

.vml-section--cream {
    background: rgba(247, 240, 227, .72);
}

.vml-skip-link {
    position: fixed;
    z-index: 10000;
    top: 8px;
    left: 8px;
    padding: 10px 14px;
    color: #fff;
    background: #111;
    transform: translateY(-150%);
}

.vml-skip-link:focus {
    transform: translateY(0);
}

.vml-header {
    position: sticky;
    z-index: 999;
    top: 0;
    border-bottom: 1px solid rgba(223, 211, 193, .6);
    background: rgba(251, 247, 239, .94);
    backdrop-filter: blur(14px);
}

.vml-header__inner {
    min-height: 104px;
    display: grid;
    grid-template-columns: 140px 1fr auto;
    align-items: center;
    gap: 28px;
}

.vml-logo img {
    display: block;
    width: 96px;
    height: 96px;
    object-fit: contain;
}

.vml-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(18px, 2vw, 38px);
}

.vml-nav a {
    color: var(--vml-text);
    font-size: 14px;
    font-weight: 700;
}

.vml-nav a:hover,
.vml-nav a:focus {
    color: var(--vml-orange-700);
}

.vml-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    color: var(--vml-green-950);
    background: transparent;
    border: 1px solid var(--vml-border);
    border-radius: 12px;
}

.vml-btn {
    min-height: 48px;
    padding: 12px 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid transparent;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 800;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.vml-btn:hover,
.vml-btn:focus {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(45, 74, 47, .15);
}

.vml-btn--header,
.vml-btn--primary {
    color: #fff;
    background: linear-gradient(135deg, var(--vml-green-900), var(--vml-green-700));
}

.vml-btn--secondary,
.vml-btn--plan {
    color: var(--vml-green-900);
    background: transparent;
    border-color: var(--vml-green-700);
}

.vml-btn--light {
    color: var(--vml-green-950);
    background: #fffdf8;
}

.vml-hero {
    padding-top: 46px;
    padding-bottom: 20px;
}

.vml-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(540px, 1.12fr);
    align-items: center;
    gap: 42px;
}

.vml-hero__content {
    padding-left: 8px;
}

.vml-hero h1 {
    margin-bottom: 24px;
    font-size: clamp(52px, 5.4vw, 78px);
    letter-spacing: -.035em;
}

.vml-hero h1 em {
    color: var(--vml-green-700);
    font-style: normal;
}

.vml-hero__content > p {
    max-width: 600px;
    margin-bottom: 24px;
    color: var(--vml-muted);
    font-size: 18px;
}

.vml-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.vml-campaign {
    max-width: 560px;
    margin-top: 22px;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    gap: 18px;
    color: #9a411e;
    background: linear-gradient(110deg, #ffe8d4, #f7dcc0);
    border: 1px solid #efc49c;
    border-radius: 18px 60px 18px 18px;
}

.vml-campaign > .dashicons {
    width: 44px;
    height: 44px;
    font-size: 44px;
    color: var(--vml-orange-700);
}

.vml-campaign strong,
.vml-campaign span {
    display: block;
}

.vml-campaign strong {
    font-size: 16px;
    text-transform: uppercase;
}

.vml-campaign span {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.vml-hero__image {
    position: relative;
}

.vml-hero__image::before,
.vml-hero__image::after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
}

.vml-hero__image::before {
    width: 220px;
    height: 220px;
    right: -60px;
    bottom: -30px;
    background: rgba(198, 211, 177, .55);
}

.vml-hero__image::after {
    width: 120px;
    height: 120px;
    left: -40px;
    top: 15%;
    background: rgba(245, 207, 175, .45);
}

.vml-hero__image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    border-radius: 44% 14% 34% 14% / 25% 18% 30% 20%;
    box-shadow: var(--vml-shadow);
}

.vml-pillar-grid {
    padding: 26px 22px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    overflow: hidden;
    background: rgba(255, 253, 249, .92);
    border: 1px solid var(--vml-border);
    border-radius: var(--vml-radius);
    box-shadow: var(--vml-shadow);
}

.vml-pillar {
    padding: 14px 28px;
    text-align: center;
    border-right: 1px solid var(--vml-border);
}

.vml-pillar:last-child {
    border-right: 0;
}

.vml-pillar .dashicons {
    width: 44px;
    height: 44px;
    font-size: 44px;
    color: var(--vml-orange-700);
}

.vml-pillar:nth-child(even) .dashicons {
    color: var(--vml-green-700);
}

.vml-pillar h2 {
    margin: 12px 0 6px;
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 18px;
}

.vml-pillar p {
    margin-bottom: 0;
    color: var(--vml-muted);
    font-size: 13px;
}

.vml-heading {
    margin-bottom: 28px;
    text-align: center;
}

.vml-heading h2 {
    margin-bottom: 0;
    font-size: clamp(34px, 4vw, 52px);
}

.vml-feature-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    overflow: hidden;
    background: rgba(255, 253, 249, .92);
    border: 1px solid var(--vml-border);
    border-radius: var(--vml-radius);
    box-shadow: var(--vml-shadow);
}

.vml-feature {
    min-height: 270px;
    padding: 34px 24px;
    text-align: center;
    border-right: 1px solid var(--vml-border);
}

.vml-feature:last-child {
    border-right: 0;
}

.vml-feature .dashicons {
    width: 52px;
    height: 52px;
    font-size: 52px;
    color: var(--vml-green-700);
}

.vml-feature:nth-child(even) .dashicons {
    color: var(--vml-orange-700);
}

.vml-feature h3 {
    margin: 14px 0 10px;
    font-size: 18px;
}

.vml-feature p {
    color: var(--vml-muted);
    font-size: 13px;
}

.vml-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
    gap: 14px;
}

.vml-plan {
    position: relative;
    padding: 30px 28px 24px;
    background: rgba(255, 253, 249, .96);
    border: 1.5px solid var(--vml-green-700);
    border-radius: 22px;
    box-shadow: var(--vml-shadow);
}

.vml-plan--featured {
    border: 2px solid var(--vml-orange-600);
}

.vml-plan__badge {
    position: absolute;
    top: -17px;
    left: 50%;
    transform: translateX(-50%);
    min-width: 220px;
    padding: 8px 22px;
    color: #fff;
    background: linear-gradient(90deg, #e7854c, #c85215);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.vml-plan__top {
    display: flex;
    align-items: center;
    gap: 12px;
}

.vml-plan__icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--vml-green-700);
    border-radius: 50%;
    font-size: 32px;
}

.vml-plan--orange .vml-plan__icon {
    background: var(--vml-orange-600);
}

.vml-plan h3 {
    margin-bottom: 0;
    color: var(--vml-green-900);
    font-size: 25px;
    text-transform: uppercase;
}

.vml-plan--orange h3 {
    color: var(--vml-orange-700);
}

.vml-plan__top strong {
    font-size: 14px;
}

.vml-plan > p {
    min-height: 72px;
    margin: 18px 0 12px;
    color: var(--vml-muted);
    text-align: center;
}

.vml-price {
    margin: 16px 0 10px;
    text-align: center;
}

.vml-price small {
    display: block;
    color: var(--vml-orange-700);
    font-size: 13px;
    font-weight: 800;
}

.vml-price strong {
    color: var(--vml-green-700);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(44px, 4.3vw, 60px);
    line-height: 1;
}

.vml-plan--orange .vml-price strong {
    color: var(--vml-orange-700);
}

.vml-price span {
    font-weight: 700;
}

.vml-validity {
    padding: 10px 12px;
    color: var(--vml-green-900);
    background: var(--vml-green-100);
    border-radius: 9px;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

.vml-plan--orange .vml-validity {
    color: #9b3d16;
    background: var(--vml-orange-100);
}

.vml-plan ul {
    min-height: 150px;
    margin: 18px 0 24px;
    padding: 0;
    list-style: none;
}

.vml-plan li {
    position: relative;
    margin: 9px 0;
    padding-left: 24px;
    color: var(--vml-muted);
    font-size: 14px;
}

.vml-plan li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--vml-green-900);
    font-weight: 900;
}

.vml-plan--orange li::before {
    color: var(--vml-orange-700);
}

.vml-plan .vml-btn {
    width: 100%;
}

.vml-disclaimer {
    margin: 18px 0 0;
    padding: 17px 20px;
    color: #5e543d;
    background: linear-gradient(90deg, #f8efe1, #f0e6d3);
    border-radius: 16px;
    text-align: center;
}

.vml-disclaimer .dashicons {
    margin-right: 8px;
    color: var(--vml-orange-700);
}

.vml-value-band {
    display: grid;
    grid-template-columns: 290px repeat(4, 1fr);
    overflow: hidden;
    background: linear-gradient(90deg, #e5ead7, #f0f0df);
    border-radius: 24px;
    box-shadow: var(--vml-shadow);
}

.vml-value-band__intro {
    padding: 28px;
    color: #fff;
    background: linear-gradient(145deg, var(--vml-green-950), var(--vml-green-800));
}

.vml-value-band__intro h2 {
    color: #fff !important;
    font-size: 28px;
}

.vml-value-band__intro p {
    font-size: 14px;
}

.vml-value-band article {
    padding: 28px 18px;
    text-align: center;
    border-right: 1px solid rgba(60, 78, 48, .14);
}

.vml-value-band article:last-child {
    border-right: 0;
}

.vml-value-band article .dashicons {
    width: 46px;
    height: 46px;
    font-size: 46px;
    color: var(--vml-green-900);
}

.vml-value-band article h3 {
    margin: 12px 0 8px;
    font-size: 15px;
}

.vml-value-band article p {
    margin-bottom: 0;
    color: var(--vml-muted);
    font-size: 12px;
}

.vml-testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.vml-testimonial-grid blockquote {
    min-height: 160px;
    padding: 22px;
    display: grid;
    grid-template-columns: 58px 1fr;
    column-gap: 16px;
    align-items: start;
    background: #fffdf9;
    border: 1px solid var(--vml-border);
    border-radius: 18px;
    box-shadow: var(--vml-shadow);
}

.vml-avatar {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    grid-row: 1 / span 2;
    color: #fff;
    background: linear-gradient(135deg, var(--vml-orange-600), var(--vml-green-700));
    border-radius: 50%;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 26px;
    font-weight: 700;
}

.vml-testimonial-grid p {
    margin-bottom: 8px;
    font-size: 14px;
}

.vml-testimonial-grid footer {
    color: var(--vml-green-900);
    font-size: 13px;
    font-weight: 800;
}

.vml-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    overflow: hidden;
    background: #fffdf9;
    border: 1px solid var(--vml-border);
    border-radius: 18px;
    box-shadow: var(--vml-shadow);
}

.vml-faq-item {
    border-right: 1px solid var(--vml-border);
    border-bottom: 1px solid var(--vml-border);
}

.vml-faq-item:nth-child(even) {
    border-right: 0;
}

.vml-faq-item:nth-last-child(-n+2) {
    border-bottom: 0;
}

.vml-faq-item button {
    width: 100%;
    min-height: 58px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: var(--vml-text);
    background: transparent;
    border: 0;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    text-align: left;
}

.vml-plus {
    color: var(--vml-green-900);
    font-size: 22px;
    line-height: 1;
    transition: transform .2s ease;
}

.vml-faq-item button[aria-expanded="true"] .vml-plus {
    transform: rotate(45deg);
}

.vml-faq-answer {
    padding: 0 18px 16px;
    color: var(--vml-muted);
    font-size: 13px;
}

.vml-faq-answer p {
    margin-bottom: 0;
}

.vml-final-cta {
    padding: 26px 34px;
    display: grid;
    grid-template-columns: 110px 1fr auto;
    align-items: center;
    gap: 24px;
    color: #fff;
    background: linear-gradient(135deg, var(--vml-green-950), #487647);
    border-radius: 28px;
    box-shadow: var(--vml-shadow);
}

.vml-final-cta img {
    width: 92px;
    height: 92px;
    object-fit: contain;
    filter: none;
    background: transparent;
}

.vml-final-cta h2 {
    margin-bottom: 4px;
    color: #fff !important;
    font-size: 32px;
}

.vml-final-cta p {
    margin-bottom: 0;
}


.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 1100px) {
    .vml-header__inner {
        grid-template-columns: 110px 1fr auto;
    }

    .vml-nav {
        gap: 18px;
    }

    .vml-hero__grid {
        grid-template-columns: 1fr;
    }

    .vml-hero__content {
        text-align: center;
    }

    .vml-hero__content > p,
    .vml-campaign {
        margin-left: auto;
        margin-right: auto;
    }

    .vml-actions {
        justify-content: center;
    }

    .vml-hero__image {
        max-width: 820px;
        margin-inline: auto;
    }

    .vml-feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .vml-feature:nth-child(even) {
        border-right: 0;
    }

    .vml-feature:last-child {
        grid-column: 1 / -1;
        border-top: 1px solid var(--vml-border);
    }

    .vml-value-band {
        grid-template-columns: 1fr 1fr;
    }

    .vml-value-band__intro {
        grid-column: 1 / -1;
    }

    .vml-value-band article:nth-child(odd) {
        border-right: 0;
    }
}

@media (max-width: 860px) {
    .vml-header__inner {
        grid-template-columns: 80px 1fr auto;
    }

    .vml-logo img {
        width: 72px;
        height: 72px;
    }

    .vml-menu-toggle {
        display: inline-grid;
        place-items: center;
        justify-self: end;
    }

    .vml-nav {
        position: absolute;
        top: 88px;
        right: 24px;
        left: 24px;
        padding: 18px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        background: #fffdf9;
        border: 1px solid var(--vml-border);
        border-radius: 16px;
        box-shadow: var(--vml-shadow);
    }

    .vml-nav.is-open {
        display: flex;
    }

    .vml-nav a {
        padding: 12px;
        border-bottom: 1px solid var(--vml-border);
    }

    .vml-nav a:last-child {
        border-bottom: 0;
    }

    .vml-header .vml-btn--header {
        display: none;
    }

    .vml-pillar-grid,
    .vml-plan-grid,
    .vml-testimonial-grid {
        grid-template-columns: 1fr;
    }

    .vml-pillar {
        border-right: 0;
        border-bottom: 1px solid var(--vml-border);
    }

    .vml-pillar:last-child {
        border-bottom: 0;
    }

    .vml-plan > p,
    .vml-plan ul {
        min-height: auto;
    }

    .vml-faq-grid {
        grid-template-columns: 1fr;
    }

    .vml-faq-item,
    .vml-faq-item:nth-child(even),
    .vml-faq-item:nth-last-child(-n+2) {
        border-right: 0;
        border-bottom: 1px solid var(--vml-border);
    }

    .vml-faq-item:last-child {
        border-bottom: 0;
    }

    .vml-final-cta {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .vml-final-cta img {
        margin-inline: auto;
    }
}

@media (max-width: 620px) {
    .vml-container {
        width: min(100% - 28px, 1240px);
    }

    .vml-section {
        padding: 48px 0;
    }

    .vml-section--tight {
        padding: 20px 0 40px;
    }

    .vml-header__inner {
        min-height: 84px;
    }

    .vml-hero {
        padding-top: 30px;
    }

    .vml-hero h1 {
        font-size: 42px;
    }

    .vml-hero__content > p {
        font-size: 16px;
    }

    .vml-actions .vml-btn {
        width: 100%;
    }

    .vml-campaign {
        border-radius: 16px;
        text-align: left;
    }

    .vml-campaign span {
        font-size: 12px;
    }

    .vml-feature-grid {
        grid-template-columns: 1fr;
    }

    .vml-feature,
    .vml-feature:nth-child(even),
    .vml-feature:last-child {
        grid-column: auto;
        border-right: 0;
        border-bottom: 1px solid var(--vml-border);
    }

    .vml-feature:last-child {
        border-bottom: 0;
    }

    .vml-plan {
        padding: 30px 20px 22px;
    }

    .vml-plan__badge {
        min-width: 190px;
    }

    .vml-value-band {
        grid-template-columns: 1fr;
    }

    .vml-value-band__intro {
        grid-column: auto;
    }

    .vml-value-band article,
    .vml-value-band article:nth-child(odd) {
        border-right: 0;
        border-bottom: 1px solid rgba(60, 78, 48, .14);
    }

    .vml-value-band article:last-child {
        border-bottom: 0;
    }

    .vml-testimonial-grid blockquote {
        grid-template-columns: 48px 1fr;
    }

    .vml-avatar {
        width: 48px;
        height: 48px;
        font-size: 22px;
    }

    .vml-final-cta {
        padding: 28px 22px;
    }
}

/* v2.3.2 — player compacto no topo; sem caixa/seção de música */
.vml-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    min-width: 0;
}

.vml-top-player {
    display: flex;
    align-items: center;
    min-width: 0;
}

#vml-page .vml-native-audio {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.vml-player-toggle {
    min-height: 48px;
    max-width: 226px;
    padding: 7px 12px 7px 9px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--vml-green-950);
    background: rgba(255, 253, 249, .92);
    border: 1px solid var(--vml-border);
    border-radius: 14px;
    cursor: pointer;
    box-shadow: 0 5px 16px rgba(45, 74, 47, .08);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.vml-player-toggle:hover,
.vml-player-toggle:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(63, 103, 67, .45);
    background: #fffdf9;
    box-shadow: 0 8px 20px rgba(45, 74, 47, .13);
    outline: none;
}

.vml-player-icon {
    flex: 0 0 34px;
    width: 34px !important;
    height: 34px !important;
    display: inline-grid !important;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--vml-green-900), var(--vml-green-700));
    border-radius: 50%;
    font-size: 19px !important;
    line-height: 34px !important;
}

.vml-player-copy {
    min-width: 0;
    display: grid;
    text-align: left;
    line-height: 1.08;
}

.vml-player-copy small {
    margin-bottom: 3px;
    color: var(--vml-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.vml-player-copy strong {
    overflow: hidden;
    color: var(--vml-green-950);
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vml-player-toggle.is-playing .vml-player-icon {
    background: linear-gradient(135deg, var(--vml-orange-700), #c97843);
}

@media (max-width: 1180px) {
    .vml-player-copy strong {
        max-width: 115px;
    }

    .vml-player-toggle {
        max-width: 176px;
    }
}

@media (max-width: 1020px) {
    .vml-player-copy {
        display: none;
    }

    .vml-player-toggle {
        min-width: 46px;
        width: 46px;
        height: 46px;
        min-height: 46px;
        padding: 5px;
        justify-content: center;
        border-radius: 50%;
    }
}

@media (max-width: 860px) {
    .vml-header__inner {
        grid-template-columns: 80px 1fr auto;
    }

    .vml-header-actions {
        grid-column: 3;
        grid-row: 1;
    }

    .vml-menu-toggle {
        grid-column: 2;
        grid-row: 1;
    }

    .vml-header .vml-btn--header {
        display: none;
    }
}

@media (max-width: 620px) {
    .vml-player-toggle {
        min-width: 42px;
        width: 42px;
        height: 42px;
        min-height: 42px;
    }

    .vml-player-icon {
        flex-basis: 30px;
        width: 30px !important;
        height: 30px !important;
        font-size: 17px !important;
        line-height: 30px !important;
    }
}

/* v2.3.7 — logomarca real no CTA final, sem filtro branco. */
.vml-final-cta .vml-final-logo {
    display: block !important;
    width: 110px !important;
    height: 110px !important;
    max-width: 110px !important;
    object-fit: contain !important;
    background: transparent !important;
    filter: none !important;
    box-shadow: none !important;
    border: 0 !important;
}
@media (max-width: 860px) {
    .vml-final-cta .vml-final-logo {
        width: 126px !important;
        height: 126px !important;
        max-width: 126px !important;
        margin: 0 auto 8px !important;
    }
}


/* v2.3.8 — solução de alta nitidez para a marca no CTA final.
   A arte original tem 225x225 px. Em vez de ampliá-la em telas Retina,
   ela é exibida em tamanho físico compatível com sua resolução nativa,
   dentro de um medalhão claro. Isso preserva a marca e elimina o quadrado branco. */
.vml-final-cta .vml-final-logo-badge {
    width: 104px !important;
    height: 104px !important;
    display: grid !important;
    place-items: center !important;
    justify-self: center !important;
    overflow: hidden !important;
    padding: 8px !important;
    background: #fffdf7 !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(21, 49, 29, .18) !important;
}

.vml-final-cta .vml-final-logo-badge .vml-final-logo {
    width: 82px !important;
    height: 82px !important;
    max-width: 82px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #fffdf7 !important;
    border: 0 !important;
    border-radius: 50% !important;
    filter: none !important;
    box-shadow: none !important;
    image-rendering: auto !important;
}

@media (max-width: 860px) {
    .vml-final-cta .vml-final-logo-badge {
        width: 96px !important;
        height: 96px !important;
        margin: 0 auto 6px !important;
        padding: 8px !important;
    }
    .vml-final-cta .vml-final-logo-badge .vml-final-logo {
        width: 76px !important;
        height: 76px !important;
        max-width: 76px !important;
        margin: 0 !important;
    }
}

@media (max-width: 430px) {
    .vml-final-cta .vml-final-logo-badge {
        width: 90px !important;
        height: 90px !important;
        padding: 7px !important;
    }
    .vml-final-cta .vml-final-logo-badge .vml-final-logo {
        width: 72px !important;
        height: 72px !important;
        max-width: 72px !important;
    }
}

/* v2.3.9 — seção Como chegar ao final da landing page */
.vml-arrival {
    margin-top: 38px;
    padding: 42px;
    background: #fffdf8;
    border: 1px solid var(--vml-border);
    border-radius: 30px;
    box-shadow: var(--vml-shadow);
}

.vml-arrival__heading {
    max-width: 760px;
    margin: 0 auto 30px;
    text-align: center;
}

.vml-arrival__eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--vml-orange-700);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.vml-arrival__heading h2 {
    margin: 0 0 10px;
    color: var(--vml-green-950);
    font-size: clamp(34px, 4vw, 52px);
}

.vml-arrival__heading p {
    margin: 0;
    color: var(--vml-muted);
    font-size: 18px;
}

.vml-arrival__grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
    gap: 34px;
    align-items: stretch;
}

.vml-arrival__info {
    display: grid;
    gap: 14px;
    align-content: start;
}

.vml-arrival__item {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 14px;
    align-items: start;
    padding: 14px 0;
    border-bottom: 1px solid rgba(223, 211, 193, .72);
}

.vml-arrival__item:last-of-type {
    border-bottom: 0;
}

.vml-arrival__icon {
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center;
    color: #fff;
    background: var(--vml-green-800);
    border-radius: 50%;
    font-size: 21px !important;
    line-height: 42px !important;
}

.vml-arrival__item strong,
.vml-arrival__tips strong {
    display: block;
    margin-bottom: 4px;
    color: var(--vml-green-950);
    font-size: 15px;
}

.vml-arrival__item p {
    margin: 0;
    color: var(--vml-muted);
    line-height: 1.55;
}

.vml-arrival__tips {
    margin-top: 6px;
    padding: 18px;
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 12px;
    background: #f4f0e7;
    border-radius: 18px;
}

.vml-arrival__tips > .dashicons {
    width: 30px;
    height: 30px;
    color: var(--vml-orange-700);
    font-size: 27px;
}

.vml-arrival__tips ul {
    margin: 8px 0 0;
    padding-left: 18px;
    color: var(--vml-muted);
}

.vml-arrival__tips li + li {
    margin-top: 5px;
}

.vml-arrival__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.vml-arrival__map {
    min-height: 480px;
    overflow: hidden;
    border: 1px solid var(--vml-border);
    border-radius: 24px;
    background: #eee9df;
}

.vml-arrival__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 480px;
    border: 0;
}

@media (max-width: 980px) {
    .vml-arrival {
        padding: 34px 28px;
    }

    .vml-arrival__grid {
        grid-template-columns: 1fr;
    }

    .vml-arrival__map,
    .vml-arrival__map iframe {
        min-height: 400px;
    }
}

@media (max-width: 620px) {
    .vml-arrival {
        margin-top: 28px;
        padding: 28px 18px;
        border-radius: 24px;
    }

    .vml-arrival__heading {
        margin-bottom: 22px;
    }

    .vml-arrival__heading p {
        font-size: 16px;
    }

    .vml-arrival__item {
        grid-template-columns: 40px 1fr;
        gap: 11px;
    }

    .vml-arrival__icon {
        width: 38px !important;
        height: 38px !important;
        font-size: 19px !important;
        line-height: 38px !important;
    }

    .vml-arrival__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .vml-arrival__actions .vml-btn {
        width: 100%;
        justify-content: center;
    }

    .vml-arrival__map,
    .vml-arrival__map iframe {
        min-height: 330px;
        border-radius: 18px;
    }
}


/* v2.3.10 — Instagram incorporado à seção Como chegar; rodapé removido. */
.vml-arrival__social-link {
    color: var(--vml-green-900);
    font-weight: 800;
    text-decoration: none;
    text-underline-offset: 3px;
}

.vml-arrival__social-link:hover,
.vml-arrival__social-link:focus-visible {
    color: var(--vml-orange-700);
    text-decoration: underline;
}

.vml-btn--instagram {
    color: #fff !important;
    background: linear-gradient(135deg, #6f4c7c, #a35467 48%, var(--vml-orange-700));
    border-color: transparent !important;
}

.vml-btn--instagram:hover,
.vml-btn--instagram:focus-visible {
    color: #fff !important;
    filter: brightness(1.05);
}

/* v2.5.1 — cabeçalho único em todas as páginas. */
.vml-header .vml-native-audio {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.vml-nav a.is-active {
    color: var(--vml-orange-700);
}


/* v2.5.4 — navegação fixa em todas as páginas. */
.vml-header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999 !important;
}
#vml-page,
#vms-page,
#vme-page {
    padding-top: 84px;
}
#vml-page section[id],
#vms-page section[id],
#vme-page section[id] {
    scroll-margin-top: 104px;
}
body.admin-bar .vml-header { top: 32px; }
@media (max-width: 900px) {
    #vml-page, #vms-page, #vme-page { padding-top: 72px; }
    #vml-page section[id], #vms-page section[id], #vme-page section[id] { scroll-margin-top: 90px; }
}
@media (max-width: 782px) {
    body.admin-bar .vml-header { top: 46px; }
}
@media (max-width: 650px) {
    #vml-page, #vms-page, #vme-page { padding-top: 66px; }
    #vml-page section[id], #vms-page section[id], #vme-page section[id] { scroll-margin-top: 82px; }
}

/* v2.7.0 — captação de leads dos planos e eventos */
.vml-lead-modal[hidden] { display: none !important; }
.vml-lead-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 20px;
}
.vml-lead-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(25, 42, 32, .66);
    backdrop-filter: blur(4px);
}
.vml-lead-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(620px, 100%);
    max-height: calc(100vh - 40px);
    overflow: auto;
    border-radius: 26px;
    background: #fbf7ef;
    box-shadow: 0 28px 80px rgba(18, 36, 25, .3);
    padding: 34px;
    color: #284433;
}
.vml-lead-modal__close {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: rgba(45, 81, 59, .09);
    color: #284433;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.vml-lead-modal__eyebrow,
.vml-thank-you__eyebrow {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #b55f45;
}
.vml-lead-modal__dialog h2 {
    margin: 0 46px 8px 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(30px, 5vw, 42px);
    line-height: 1.05;
    color: #294735;
}
.vml-lead-modal__selection { margin: 0 0 24px; color: #637064; }
.vml-lead-form { display: grid; gap: 16px; }
.vml-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.vml-lead-form label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; color: #334d3b; }
.vml-lead-form label > span[aria-hidden="true"] { display: inline; color: #b55f45; }
.vml-lead-form input[type="text"],
.vml-lead-form input[type="tel"],
.vml-lead-form input[type="email"],
.vml-lead-form select {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(47, 77, 57, .22);
    border-radius: 12px;
    background: #fff;
    padding: 10px 13px;
    color: #253d2e;
    font: inherit;
    font-weight: 500;
    box-sizing: border-box;
}
.vml-lead-form input:focus,
.vml-lead-form select:focus { outline: 2px solid rgba(92, 122, 93, .28); border-color: #718a6f; }
.vml-event-choice { display: grid; }
.vml-consent { grid-template-columns: 20px 1fr !important; align-items: start; gap: 9px !important; font-weight: 500 !important; line-height: 1.4; }
.vml-consent input { margin-top: 3px; }
.vml-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.vml-lead-submit { width: 100%; border: 0; cursor: pointer; justify-content: center; min-height: 52px; }
.vml-form-note { margin: -5px 0 0; text-align: center; color: #728076; font-size: 12px; }
body.vml-modal-open { overflow: hidden; }

.vml-thank-you { min-height: calc(100vh - 100px); display: grid; align-items: center; padding: 70px 0; background: #f5f0e7; }
.vml-thank-you__card {
    width: min(760px, 100%);
    margin: 0 auto;
    padding: clamp(34px, 6vw, 70px);
    border-radius: 30px;
    background: #fffdf8;
    text-align: center;
    box-shadow: 0 22px 60px rgba(39, 66, 48, .12);
}
.vml-thank-you__card > .dashicons { width: 68px; height: 68px; font-size: 68px; color: #668064; margin-bottom: 20px; }
.vml-thank-you__card h1 { margin: 4px 0 16px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(36px, 6vw, 58px); line-height: 1.05; color: #294735; }
.vml-thank-you__card p { max-width: 610px; margin: 0 auto; color: #5f6d63; font-size: 18px; line-height: 1.65; }
.vml-thank-you__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }

@media (max-width: 650px) {
    .vml-lead-modal { padding: 10px; align-items: end; }
    .vml-lead-modal__dialog { padding: 28px 20px 22px; border-radius: 22px 22px 14px 14px; max-height: 92vh; }
    .vml-form-grid { grid-template-columns: 1fr; }
    .vml-thank-you { padding: 34px 14px; }
    .vml-thank-you__actions { flex-direction: column; }
    .vml-thank-you__actions .vml-btn { width: 100%; justify-content: center; }
}
.vml-plan button.vml-btn--plan { border: 0; cursor: pointer; font: inherit; }

/* v2.7.2 — formulários de plano e evento totalmente independentes */
.vml-lead-modal--plan .vml-lead-modal__dialog {
    border-top: 5px solid #668064;
}
.vml-lead-modal--plan .vml-lead-modal__eyebrow {
    color: #557057;
}
.vml-lead-modal--event .vml-lead-modal__dialog {
    border-top: 5px solid #b55f45;
}
.vml-lead-modal--event .vml-lead-modal__eyebrow {
    color: #b55f45;
}
.vml-lead-modal--event .vml-lead-submit {
    background: #a95c45;
}

/* v2.7.3 — maior destaque para os CTAs de escolha dos planos */
.vml-plan button.vml-btn--plan {
    min-height: 56px;
    color: #fff !important;
    background: linear-gradient(135deg, var(--vml-green-900), var(--vml-green-700));
    border: 0 !important;
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(52, 91, 55, .22);
    font-weight: 900;
    letter-spacing: .025em;
    text-transform: none;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.vml-plan--orange button.vml-btn--plan {
    background: linear-gradient(135deg, var(--vml-orange-700), var(--vml-orange-600));
    box-shadow: 0 12px 28px rgba(201, 95, 34, .22);
}
.vml-plan button.vml-btn--plan:hover,
.vml-plan button.vml-btn--plan:focus-visible {
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(52, 91, 55, .28);
    filter: brightness(1.035);
}
.vml-plan--orange button.vml-btn--plan:hover,
.vml-plan--orange button.vml-btn--plan:focus-visible {
    box-shadow: 0 16px 34px rgba(201, 95, 34, .29);
}

/* v2.9.0 — Popup Matrículas e Rematrículas 2027 */
.vml-enrollment-popup[hidden]{display:none!important}.vml-enrollment-popup{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px}.vml-enrollment-popup__backdrop{position:absolute;inset:0;background:rgba(13,43,35,.72);backdrop-filter:blur(3px)}.vml-enrollment-popup__dialog{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;max-width:min(92vw,620px);max-height:94vh}.vml-enrollment-popup__dialog img{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.vml-enrollment-popup__close{position:absolute;right:-12px;top:-12px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#164638;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.25)}.vml-enrollment-popup__cta{margin-top:12px;padding:12px 22px;border-radius:999px;background:#174c3c;color:#fff!important;font-weight:700;text-decoration:none;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.18)}body.vml-enrollment-popup-open{overflow:hidden}@media(max-width:640px){.vml-enrollment-popup{padding:10px}.vml-enrollment-popup__dialog{max-width:96vw}.vml-enrollment-popup__dialog img{max-height:80vh;border-radius:12px}.vml-enrollment-popup__close{right:4px;top:4px;width:38px;height:38px}.vml-enrollment-popup__cta{font-size:14px;padding:11px 16px}}


/* v2.9.1 — informativo de matrículas acompanha a rolagem em formato compacto */
.vml-enrollment-popup.is-compact{pointer-events:none;display:block;padding:0;inset:auto 18px 18px auto;width:min(300px,calc(100vw - 28px));height:auto}.vml-enrollment-popup.is-compact .vml-enrollment-popup__backdrop{display:none}.vml-enrollment-popup.is-compact .vml-enrollment-popup__dialog{pointer-events:auto;max-width:100%;max-height:none}.vml-enrollment-popup.is-compact .vml-enrollment-popup__dialog img{width:100%;max-height:52vh;border-radius:12px;box-shadow:0 12px 36px rgba(0,0,0,.24)}.vml-enrollment-popup.is-compact .vml-enrollment-popup__close{right:-8px;top:-8px;width:34px;height:34px;font-size:24px}.vml-enrollment-popup.is-compact .vml-enrollment-popup__cta{margin-top:7px;width:100%;padding:9px 12px;font-size:12px}.vml-campaign{cursor:pointer}.vml-campaign:hover{transform:translateY(-1px)}@media(max-width:640px){.vml-enrollment-popup.is-compact{right:10px;bottom:10px;width:min(220px,calc(100vw - 20px))}.vml-enrollment-popup.is-compact .vml-enrollment-popup__dialog img{max-height:46vh}.vml-enrollment-popup.is-compact .vml-enrollment-popup__cta{font-size:11px;padding:8px 10px}}

/* v2.9.3 — chamada de matrículas/rematrículas na seção de planos */
.vml-plans-callout {
    margin: .55rem auto 0;
    max-width: 760px;
    font-weight: 600;
    line-height: 1.5;
}

/* v2.9.4 — chamada de matrículas abre o informativo */
.vml-plans-callout[role="button"]{cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;}
.vml-plans-callout[role="button"]:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px;}
