/* Stable inline playback. Dynamic fullscreen is disabled for liver vsl4. */
body #hero { height: 64px; }
body #toggle_fullscreen { max-width: 828px; }
body:has(#buy[style*="display: block"]) #toggle_fullscreen { max-width: 728px; }
body #toggle_fullscreen .col-md-10 { flex: 0 0 100%; max-width: 100%; margin-left: 0; }
body #dn_embed-responsive { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #000; }
body #center, body #player { width: 100%; height: 100%; margin: 0; }
body #player { position: absolute; inset: 0; }
body #divOverPlayerYoutubeCabecalho, body #divOverPlayerYoutubeRodape { display: none; }
body #buy { display: none; }
body #buy .productBuy-mobile > div:first-child { width: 100%; }
body #buy .badge-descount-mobile { right: calc(50% - 220px); }
@media (max-width: 767px) {
 body #toggle_fullscreen { width: calc(100% - 32px); }
 body #buy .badge-descount-mobile { position: absolute; right: 0; }
 body #mainSection { min-height: 0; }
}

body #vfunnel_video { width: 100%; height: 100%; padding-top: 0; }

/* Keep the actual media inside its reserved frame during play/pause/resume. */
body #vfunnel_video video { width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 767px) {
 body #toggle_fullscreen { margin-inline: auto; }
 body #dn_embed-responsive { aspect-ratio: 4 / 5; }
 body #vfunnel_video .topText { font-size: clamp(18px, 5vw, 24px); min-width: 0; }
 body #vfunnel_video .buttonsContinue { display: flex !important; flex-direction: column; align-items: center; }
 body #vfunnel_video .textBtn { font-size: 16px; }
 body #vfunnel_video #btn_continue, body #vfunnel_video #btn_restart { min-height: 44px; cursor: pointer; }
}

/* Funnel sections size to their content rather than overlapping positioned elements. */
body #buy { --oferta-rail: 380px; }
body #buy .productBuy-mobile { margin-left: 0; margin-right: 0; width: 100%; }
body #buy .productBuy-mobile > div:first-child { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-bottom: 12px; }
body #buy .productBuy-mobile > div:first-child .titleDiv { margin-bottom: 0; width: 100%; gap: 8px; }
body #buy .titleDiv h2 { font-size: clamp(25px, 6.4vw, 32px); line-height: 1.25; overflow-wrap: break-word; }
body #buy .badge-descount-mobile { position: static; float: none; align-self: center; width: 86px; height: auto; margin-left: min(66%, 260px); }
body #buy .productBuy-section-mobile { width: 100%; min-width: 0; }
body #buy .nav-mobile { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; width: 100%; max-width: var(--oferta-rail); }
body #buy .nav-mobile > .nav-item { margin: 0; min-width: 0; display: flex; justify-content: center; align-items: center; padding: 10px 6px; min-height: 64px; }
body #buy .nav-mobile .open-modal { grid-column: 2; width: 100% !important; margin: 0 !important; justify-content: center !important; min-height: 44px; align-items: center; cursor: pointer; }
body #buy .product-preview { width: 90%; max-width: 342px; height: auto; margin-top: 20px !important; margin-bottom: 20px !important; }
body #buy .productBuy-section-mobile > .pb-3 { width: 100%; max-width: var(--oferta-rail); min-width: 0; }
body #buy .productBuy-section-mobile > .pb-3 > .nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
body #buy .pote { width: auto; min-width: 0; height: auto; min-height: 124px; margin: 0; padding-bottom: 14px !important; }
body #buy .pote > span { height: auto; min-height: 38px; padding: 5px 3px; display: flex; align-items: center; justify-content: center; line-height: 1.15; font-size: 12px !important; }
body #buy .pote > div { height: auto !important; flex: 1; padding: 5px 0; gap: 4px; }
body #buy .pote p { line-height: 1.2 !important; }
body #buy .tab-pane > .px-3 { padding-left: 0 !important; padding-right: 0 !important; }
body #buy .btnBuy { height: auto; min-height: 72px; padding: 14px 12px; gap: 12px; }
body #buy .btnBuyText.buyMobile { position: static; min-width: 0; }
body #buy .btnBuy p { font-size: clamp(18px, 5vw, 22px); line-height: 1.3; }
body #buy .btnBuy img { position: static; width: 22px; flex-shrink: 0; }
body #buy .termos-assinatura { font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
body #buy .terms-mobile { font-size: 12px; line-height: 1.6; }
body #buy .garantia-satisfacao { display: grid; grid-template-columns: 1fr; height: auto; max-width: 100%; padding: 28px 20px; gap: 24px; text-align: center; }
body #buy .garantiaLogo { position: static; grid-row: 1; justify-self: center; max-width: 100%; }
body #buy .garantiaDiv1 { justify-content: center; }
body #buy .garantiaDiv1 h1 { font-size: clamp(28px, 7vw, 40px) !important; line-height: 1.2; margin: 0; }
body #buy .garantiaDiv2 { max-width: 100%; padding: 0; }
body #buy .garantiaDiv2 p { font-size: 16px; line-height: 1.6; }
body #buy .vertical-hr { display: none; }
body #buy .realCases, body #buy .faqInner { width: 100%; min-width: 0; padding-left: 0; padding-right: 0; }
body #buy .realCase img { max-width: 100%; height: auto; }
body #buy .realCase p, body #buy .caseContent { font-size: 17px; line-height: 1.6; overflow-wrap: break-word; }
body #buy .realCase .pinkP { font-size: 23px; line-height: 1.3; }
body #buy .titleRealCases { gap: 12px; }
body #buy .btn-read-more { min-height: 44px; align-items: center; flex-wrap: wrap; margin-bottom: 24px; }
body #buy .pinkSection::before { left: 0; width: 100%; }
body #buy .pinkSection { padding: 0 16px; }
body #buy #accordionFlushFAQ .accordion-button { line-height: 1.4; padding: 16px 12px; gap: 12px; white-space: normal; }
body #buy #accordionFlushFAQ .accordion-button::after { flex-shrink: 0; }
body #buy #accordionFlushFAQ .accordion-body { padding: 0 0 16px; font-size: 16px; line-height: 1.6; overflow-wrap: break-word; }
body #buy .modal-dialog { margin: 16px auto; width: calc(100% - 32px); }
body #buy .modal-content { max-height: calc(100dvh - 32px); overflow-y: auto; }
body #buy .modal-title { font-size: clamp(22px, 6vw, 30px); line-height: 1.25; }
body #buy .modalContentDiv > div { min-width: 0; }
body #buy .modalUL { list-style-image: none; padding-left: 22px; font-size: 16px; line-height: 1.5; }
body #buy .modalUL p { margin: 12px 0; }
body #buy .modalButton { padding: 12px 20px; min-height: 44px; }
body footer p { line-height: 1.65; overflow-wrap: anywhere; }
body footer img { max-width: 100%; height: auto; }
@media (max-width: 767px) {
 body #buy { width: 100%; padding: 0 16px; }
 body #buy .container { width: 100%; }
 body #citations .container { width: 100%; padding: 0 20px; }
 body .media { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 0 20px; }
 body .media > div { min-width: 0; }
 body .media img { max-width: 100%; height: auto; }
 body #buy .modalContentDiv { flex-direction: column; }
}

/* Six media logos in two balanced rows on mobile. */
@media (max-width: 767px) {
 body .media-ref { padding-top: 24px; }
 body .media-ref .media { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 18px; width: calc(100% - 32px); max-width: 420px; padding: 0; margin: 0 auto 20px !important; }
 body .media-ref .media > div { display: contents !important; }
 body .media-ref .media > div > div { display: flex; align-items: center; justify-content: center; min-width: 0; height: 48px; }
 body .media-ref .media img { display: block; width: auto; height: auto; max-width: 100%; max-height: 38px; object-fit: contain; }
}
