.vblp-wrapper {
  --vblp-primary: #0b3866;
  --vblp-secondary: #0876b9;
  --vblp-accent: #ff6108;
  --vblp-whatsapp: #25d366;
  --vblp-text: #536a7e;
  --vblp-border: #9bb9cf;
  --vblp-max-width: 1320px;
  --vblp-side-padding: 24px;
  color: var(--vblp-text);
  font-family: inherit;
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  padding: clamp(36px, 4vw, 64px) var(--vblp-side-padding) clamp(58px, 6vw, 90px);
  transform: none;
  width: 100%;
}

/* Respeita integralmente a largura da coluna/seção do Elementor. */
.vblp-wrapper.vblp-width-column {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  transform: none;
  width: 100%;
}

/* Centraliza o widget e limita sua largura, sem ultrapassar a coluna. */
.vblp-wrapper.vblp-width-contained {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--vblp-max-width);
  transform: none;
  width: 100%;
}

/* Ignora a largura da coluna apenas quando este modo for escolhido. */
.vblp-wrapper.vblp-width-full {
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: none;
  position: relative;
  transform: none;
  width: 100vw;
}

.vblp-wrapper *, .vblp-wrapper *::before, .vblp-wrapper *::after { box-sizing: border-box; }
.vblp-wrapper img { display: block; max-width: 100%; }

.vblp-hero-block,
.vblp-lower-block { width: 100%; }

.vblp-hero-block.vblp-hero-full {
  left: 50%;
  margin-left: -50vw;
  padding-left: clamp(24px, 4vw, 72px);
  padding-right: clamp(24px, 4vw, 72px);
  position: relative;
  width: 100vw;
}

.vblp-grid {
  align-items: stretch;
  display: grid;
  gap: clamp(38px, 4vw, 64px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vblp-info { padding: 10px 0; }
.vblp-eyebrow { color: var(--vblp-accent); font-size: 13px; font-weight: 800; letter-spacing: .1em; margin-bottom: 27px; text-transform: uppercase; }
.vblp-eyebrow::after { background: var(--vblp-accent); content: ""; display: block; height: 3px; margin-top: 14px; width: 48px; }
.vblp-title { color: var(--vblp-primary); font-size: clamp(48px, 4.7vw, 72px); font-weight: 800; letter-spacing: -.045em; line-height: .98; margin: 0 0 27px; }
.vblp-subtitle { color: var(--vblp-text); font-size: clamp(18px, 1.55vw, 23px); line-height: 1.4; margin: 0 0 31px; max-width: 560px; }
.vblp-cta { align-items: center; background: var(--vblp-whatsapp); border-radius: 10px; box-shadow: 0 10px 24px rgba(37,211,102,.22); color: #fff !important; display: inline-flex; font-size: 16px; font-weight: 800; gap: 30px; justify-content: space-between; letter-spacing: .065em; min-height: 55px; padding: 14px 26px; text-decoration: none !important; transition: filter .2s, transform .2s, box-shadow .2s; }
.vblp-cta:hover { box-shadow: 0 14px 30px rgba(37,211,102,.32); color: #fff !important; filter: brightness(.9); transform: translateY(-2px); }
.vblp-cta svg { flex: 0 0 auto; }
.vblp-cta .vblp-whatsapp-icon { display: block; height: 24px; width: 24px; }

.vblp-gallery { display: flex; flex-direction: column; min-width: 0; width: 100%; }
.vblp-main-viewer { background: #0a5688; border-radius: 8px; box-shadow: 0 12px 32px rgba(7,59,104,.08); flex: 1 1 auto; min-height: 390px; overflow: hidden; position: relative; width: 100%; }
.vblp-slides, .vblp-slide { height: 100%; inset: 0; position: absolute; width: 100%; }
.vblp-slide { opacity: 0; transition: opacity .3s ease; visibility: hidden; }
.vblp-slide.is-active { opacity: 1; visibility: visible; }
.vblp-slide img, .vblp-video-frame, .vblp-video-frame iframe, .vblp-color-placeholder { border: 0; display: block; height: 100%; object-fit: cover; width: 100%; }
.vblp-video-frame { background: #071f34; }

.vblp-product-menu { align-items: center; display: flex; gap: 14px; justify-content: flex-end; margin-bottom: 14px; min-height: 44px; width: 100%; }
.vblp-product-menu label { color: var(--vblp-primary); font-size: 14px; font-weight: 700; margin: 0; white-space: nowrap; }
.vblp-product-select-wrap { min-width: 235px; position: relative; }
.vblp-product-select { appearance: none; background: #fff; border: 1px solid var(--vblp-border); border-radius: 6px; color: var(--vblp-primary); cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 700; height: 44px; line-height: 1.2; margin: 0; outline: 0; padding: 0 42px 0 15px; width: 100%; }
.vblp-product-select:focus { border-color: var(--vblp-secondary); box-shadow: 0 0 0 3px rgba(8,118,185,.12); }
.vblp-product-select-wrap > svg { color: var(--vblp-secondary); height: 20px; pointer-events: none; position: absolute; right: 13px; top: 50%; transform: translateY(-50%); width: 20px; }

.vblp-wrapper button.vblp-nav,
.vblp-wrapper button.vblp-thumb-nav {
  align-items: center !important;
  appearance: none !important;
  background-color: var(--vblp-secondary) !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #fff !important;
  cursor: pointer !important;
  display: flex !important;
  height: 58px !important;
  justify-content: center !important;
  margin: 0 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  transition: background-color .2s, transform .2s !important;
  width: 58px !important;
  z-index: 20 !important;
}
.vblp-wrapper button.vblp-nav:hover, .vblp-wrapper button.vblp-thumb-nav:hover { background-color: var(--vblp-primary) !important; transform: translateY(-50%) scale(1.05) !important; }
.vblp-wrapper button.vblp-nav svg, .vblp-wrapper button.vblp-thumb-nav svg { height: 25px !important; width: 25px !important; }
.vblp-wrapper button.vblp-nav-prev { left: 18px !important; right: auto !important; }
.vblp-wrapper button.vblp-nav-next { left: auto !important; right: 18px !important; }

.vblp-watch-video-btn { align-items: center !important; appearance: none !important; background: rgba(4,31,55,.78) !important; border: 0 !important; border-radius: 28px !important; box-shadow: none !important; color: #fff !important; cursor: pointer; display: inline-flex !important; font-size: 14px !important; font-weight: 700 !important; gap: 10px; margin: 0 !important; padding: 8px 18px 8px 8px !important; position: absolute; right: 18px; top: 18px; z-index: 22; }
.vblp-play-circle { align-items: center; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; display: flex; height: 38px; justify-content: center; width: 38px; }

.vblp-dots { bottom: 14px; display: flex; gap: 9px; left: 50%; position: absolute; transform: translateX(-50%); z-index: 22; }
.vblp-wrapper button.vblp-dot { appearance: none !important; background: rgba(255,255,255,.76) !important; border: 0 !important; border-radius: 50% !important; box-shadow: none !important; cursor: pointer; display: block !important; height: 10px !important; margin: 0 !important; min-height: 0 !important; min-width: 0 !important; padding: 0 !important; width: 10px !important; }
.vblp-wrapper button.vblp-dot.is-active { background: var(--vblp-secondary) !important; box-shadow: 0 0 0 3px rgba(255,255,255,.88) !important; }

.vblp-thumbs { align-items: center; display: flex; margin-top: 30px; padding: 0 75px; position: relative; width: 100%; }
.vblp-thumbs-track { display: flex; gap: 14px; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; width: 100%; }
.vblp-thumbs-track::-webkit-scrollbar { display: none; }
.vblp-wrapper button.vblp-thumb { appearance: none !important; aspect-ratio: 1.62 / 1; background: #edf3f7 !important; border: 2px solid transparent !important; border-radius: 6px !important; box-shadow: none !important; cursor: pointer; display: block !important; flex: 0 0 calc((100% - 56px) / 5); margin: 0 !important; min-height: 0 !important; min-width: 0; overflow: hidden; padding: 0 !important; }
.vblp-wrapper button.vblp-thumb.is-active { border-color: var(--vblp-secondary) !important; }
.vblp-thumb img, .vblp-thumb .vblp-color-placeholder { height: 100%; object-fit: cover; width: 100%; }
.vblp-wrapper button.vblp-thumb-nav { height: 52px !important; width: 52px !important; }
.vblp-wrapper button.vblp-thumb-prev { left: 0 !important; right: auto !important; }
.vblp-wrapper button.vblp-thumb-next { left: auto !important; right: 0 !important; }

.vblp-section-title { align-items: center; display: flex; margin: clamp(48px, 5vw, 70px) 0 28px; text-align: center; }
.vblp-section-title::before, .vblp-section-title::after { background: var(--vblp-primary); content: ""; flex: 1; height: 1px; }
.vblp-section-title span { color: var(--vblp-primary); font-size: clamp(28px, 2.8vw, 40px); font-weight: 800; letter-spacing: -.025em; line-height: 1.1; padding: 0 20px; white-space: nowrap; }

.vblp-downloads-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vblp-download-item { align-items: center; background: #fff; border: 1px solid var(--vblp-border); border-radius: 5px; color: var(--vblp-primary) !important; display: grid; gap: 17px; grid-template-columns: 56px 1fr 44px; min-height: 88px; padding: 15px 20px; text-decoration: none !important; transition: border-color .2s, box-shadow .2s, transform .2s; }
.vblp-download-item:hover { border-color: var(--vblp-secondary); box-shadow: 0 10px 25px rgba(7,59,104,.1); color: var(--vblp-primary) !important; transform: translateY(-2px); }
.vblp-download-icon { color: var(--vblp-primary); height: 46px; width: 46px; }
.vblp-download-icon svg { height: 100%; width: 100%; }
.vblp-download-label { font-size: 17px; font-weight: 800; letter-spacing: .01em; }
.vblp-download-arrow { align-items: center; border: 2px solid var(--vblp-secondary); border-radius: 50%; color: var(--vblp-secondary); display: flex; height: 40px; justify-content: center; width: 40px; }
.vblp-download-arrow svg { height: 21px; width: 21px; }

.vblp-description { color: var(--vblp-text); font-size: 17px; line-height: 1.55; }
.vblp-description p { margin: 0 0 17px; }
.vblp-description > :last-child { margin-bottom: 0; }
.vblp-description-content.has-image { align-items: stretch; display: grid; gap: clamp(28px, 4vw, 56px); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vblp-description-image { border-radius: 8px; min-height: 320px; overflow: hidden; }
.vblp-description-image img { height: 100%; object-fit: cover; width: 100%; }

@media (max-width: 1100px) {
  .vblp-grid { gap: 40px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vblp-title { font-size: 48px; }
  .vblp-main-viewer { min-height: 350px; }
  .vblp-wrapper button.vblp-thumb { flex-basis: calc((100% - 42px) / 4); }
  .vblp-download-item { gap: 12px; grid-template-columns: 48px 1fr 38px; padding: 13px 14px; }
  .vblp-download-label { font-size: 14px; }
}

@media (max-width: 767px) {
  .vblp-wrapper { padding-bottom: 55px; padding-top: 35px; }
  .vblp-hero-block.vblp-hero-full { padding-left: var(--vblp-side-padding); padding-right: var(--vblp-side-padding); }
  .vblp-grid { gap: 34px; grid-template-columns: 1fr; }
  .vblp-title { font-size: clamp(39px, 11vw, 50px); }
  .vblp-subtitle { font-size: 17px; }
  .vblp-cta { font-size: 14px; width: 100%; }
  .vblp-main-viewer { aspect-ratio: 1.25 / 1; min-height: 0; }
  .vblp-product-menu { align-items: stretch; flex-direction: column; gap: 7px; }
  .vblp-product-menu label { white-space: normal; }
  .vblp-product-select-wrap { min-width: 0; width: 100%; }
  .vblp-wrapper button.vblp-nav { height: 46px !important; width: 46px !important; }
  .vblp-wrapper button.vblp-nav-prev { left: 10px !important; }
  .vblp-wrapper button.vblp-nav-next { right: 10px !important; }
  .vblp-watch-video-btn { right: 10px; top: 10px; }
  .vblp-thumbs { margin-top: 20px; padding: 0 48px; }
  .vblp-thumbs-track { gap: 10px; }
  .vblp-wrapper button.vblp-thumb { flex-basis: calc((100% - 10px) / 2); }
  .vblp-wrapper button.vblp-thumb-nav { height: 40px !important; width: 40px !important; }
  .vblp-section-title { margin-top: 48px; }
  .vblp-section-title span { font-size: 27px; padding: 0 12px; }
  .vblp-downloads-grid { grid-template-columns: 1fr; }
  .vblp-download-item { min-height: 76px; }
  .vblp-description { font-size: 16px; line-height: 1.65; }
  .vblp-description-content.has-image { gap: 24px; grid-template-columns: 1fr; }
  .vblp-description-image { min-height: 240px; }
}

@media (prefers-reduced-motion: reduce) {
  .vblp-wrapper *, .vblp-wrapper *::before, .vblp-wrapper *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
