

/* ===============================
   XL — Desktop grande (≥1280px)
   =============================== */
@media (min-width: 1280px) {
  .bvgn-taxas-duplas {
    flex-direction: row;
  }

  .bvgn-taxas-duplas .bvgn-taxas {
    flex: 1 1 48%;
    padding: 10px;
  }

  .bvgn-totais-cotacao {
    flex-direction: column;
  }
}


/* ===============================
   LG — Notebooks (1025px–1279px)
   =============================== */
@media (min-width: 1025px) and (max-width: 1279px) {
  .bvgn-taxas-duplas {
    flex-direction: column;
  }

  .bvgn-taxas-duplas .bvgn-taxas {
    flex: 1 1 100%;
    padding: 10px;
  }

  .bvgn-totais-cotacao {
    flex-direction: column;
  }
}


/* ===============================
   MD — Tablets / notebooks pequenos (641px–1024px)
   =============================== */
@media (min-width: 641px) and (max-width: 1024px) {
  .bvgn-container .bvgn-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .bvgn-taxas-duplas {
    flex-direction: column;
  }

  .bvgn-taxas-duplas .bvgn-taxas {
    flex: 1 1 100%;
    padding: 10px;
  }

  .bvgn-totais-cotacao {
    flex-direction: column;
  }
}


/* ===============================
   SM — Mobile (até 640px)
   =============================== */
@media (max-width: 640px) {
  .bvgn-grid {
    display: block !important;
  }
  .bvgn-container .bvgn-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .bvgn-taxas,
  .bvgn-agendamento,
  .bvgn-totais,
  .bvgn-cotacao {
    max-width: 100% !important;
    padding: 16px;
    margin: 12px 0;
  }

  .bvgn-taxas-duplas {
    flex-direction: column;
  }

  .bvgn-taxas-duplas .bvgn-taxas {
    flex: 1 1 100%;
  }

  .bvgn-totais-cotacao {
    flex-direction: column;
  }

  .bvgn-cotacao .bvgn-btn {
    width: 100%;
  }
    /* remove paddings laterais do container da seção do Elementor somente no product */
  body.single-product .elementor-section.elementor-section-boxed > .elementor-container{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* garante que nosso container ocupe tudo */
  .bvgn-container{ padding-left: 12px; padding-right: 12px; }
}

/* ===============================
   SM+ — Ajustes finos mobile (até 767px)
   =============================== */
@media (max-width: 767px) {
  /* Cards genéricos (ajuste mobile) */
  .card-protecao,
  .card-opcional,
  .card-taxa {
    padding: 12px 14px !important; /* reduz espaço interno */
    margin: 8px 0 !important;      /* aproxima os cards */
  }

  /* Espaçamento interno entre elementos do card */
  .card-protecao > * + *,
  .card-opcional > * + *,
  .card-taxa > * + * {
    margin-top: 8px;
  }

  /* Último card com menos respiro */
  .card-protecao:last-child,
  .card-opcional:last-child,
  .card-taxa:last-child {
    margin-bottom: 6px !important;
  }

  /* Containers de grid/flex que agrupam os cards */
  .cards-grid,
  .grid-opcionais,
  .lista-opcionais,
  .elementor-grid {
    gap: 8px !important;
    row-gap: 8px !important;
    column-gap: 8px !important;
  }
}
/* fim ajuste mobile */