/* Retrocompatibilidade de margens e paddings do Bootstrap 4 no Bootstrap 5 */

/* Escala de espaçamento do Bootstrap 4 (em rem, como no BS4) */
:root {
  --bs4-spacer: 1rem; /* Equivalente ao $spacer do Bootstrap 4 */
}

/* Classes de margem (m-*) */
.m-0 { margin: 0 !important; }
.m-1 { margin: calc(var(--bs4-spacer) * 0.25) !important; } /* 0.25rem */
.m-2 { margin: calc(var(--bs4-spacer) * 0.5) !important; }  /* 0.5rem */
.m-3 { margin: var(--bs4-spacer) !important; }              /* 1rem */
.m-4 { margin: calc(var(--bs4-spacer) * 1.5) !important; }  /* 1.5rem */
.m-5 { margin: calc(var(--bs4-spacer) * 3) !important; }    /* 3rem */
.m-auto { margin: auto !important; }

/* Margens laterais (ml-*, mr-*, mt-*, mb-*) */
.mt-0, .my-0 { margin-top: 0 !important; }
.mb-0, .my-0 { margin-bottom: 0 !important; }
.ml-0, .mx-0 { margin-left: 0 !important; }
.mr-0, .mx-0 { margin-right: 0 !important; }

.mt-1, .my-1 { margin-top: calc(var(--bs4-spacer) * 0.25) !important; }
.mb-1, .my-1 { margin-bottom: calc(var(--bs4-spacer) * 0.25) !important; }
.ml-1, .mx-1 { margin-left: calc(var(--bs4-spacer) * 0.25) !important; }
.mr-1, .mx-1 { margin-right: calc(var(--bs4-spacer) * 0.25) !important; }

.mt-2, .my-2 { margin-top: calc(var(--bs4-spacer) * 0.5) !important; }
.mb-2, .my-2 { margin-bottom: calc(var(--bs4-spacer) * 0.5) !important; }
.ml-2, .mx-2 { margin-left: calc(var(--bs4-spacer) * 0.5) !important; }
.mr-2, .mx-2 { margin-right: calc(var(--bs4-spacer) * 0.5) !important; }

.mt-3, .my-3 { margin-top: var(--bs4-spacer) !important; }
.mb-3, .my-3 { margin-bottom: var(--bs4-spacer) !important; }
.ml-3, .mx-3 { margin-left: var(--bs4-spacer) !important; }
.mr-3, .mx-3 { margin-right: var(--bs4-spacer) !important; }

.mt-4, .my-4 { margin-top: calc(var(--bs4-spacer) * 1.5) !important; }
.mb-4, .my-4 { margin-bottom: calc(var(--bs4-spacer) * 1.5) !important; }
.ml-4, .mx-4 { margin-left: calc(var(--bs4-spacer) * 1.5) !important; }
.mr-4, .mx-4 { margin-right: calc(var(--bs4-spacer) * 1.5) !important; }

.mt-5, .my-5 { margin-top: calc(var(--bs4-spacer) * 3) !important; }
.mb-5, .my-5 { margin-bottom: calc(var(--bs4-spacer) * 3) !important; }
.ml-5, .mx-5 { margin-left: calc(var(--bs4-spacer) * 3) !important; }
.mr-5, .mx-5 { margin-right: calc(var(--bs4-spacer) * 3) !important; }

.mt-auto, .my-auto { margin-top: auto !important; }
.mb-auto, .my-auto { margin-bottom: auto !important; }
.ml-auto, .mx-auto { margin-left: auto !important; }
.mr-auto, .mx-auto { margin-right: auto !important; }

/* Classes de padding (p-*) */
.p-0 { padding: 0 !important; }
.p-1 { padding: calc(var(--bs4-spacer) * 0.25) !important; } /* 0.25rem */
.p-2 { padding: calc(var(--bs4-spacer) * 0.5) !important; }  /* 0.5rem */
.p-3 { padding: var(--bs4-spacer) !important; }              /* 1rem */
.p-4 { padding: calc(var(--bs4-spacer) * 1.5) !important; }  /* 1.5rem */
.p-5 { padding: calc(var(--bs4-spacer) * 3) !important; }    /* 3rem */

/* Paddings laterais (pl-*, pr-*, pt-*, pb-*) */
.pt-0, .py-0 { padding-top: 0 !important; }
.pb-0, .py-0 { padding-bottom: 0 !important; }
.pl-0, .px-0 { padding-left: 0 !important; }
.pr-0, .px-0 { padding-right: 0 !important; }

.pt-1, .py-1 { padding-top: calc(var(--bs4-spacer) * 0.25) !important; }
.pb-1, .py-1 { padding-bottom: calc(var(--bs4-spacer) * 0.25) !important; }
.pl-1, .px-1 { padding-left: calc(var(--bs4-spacer) * 0.25) !important; }
.pr-1, .px-1 { padding-right: calc(var(--bs4-spacer) * 0.25) !important; }

.pt-2, .py-2 { padding-top: calc(var(--bs4-spacer) * 0.5) !important; }
.pb-2, .py-2 { padding-bottom: calc(var(--bs4-spacer) * 0.5) !important; }
.pl-2, .px-2 { padding-left: calc(var(--bs4-spacer) * 0.5) !important; }
.pr-2, .px-2 { padding-right: calc(var(--bs4-spacer) * 0.5) !important; }

.pt-3, .py-3 { padding-top: var(--bs4-spacer) !important; }
.pb-3, .py-3 { padding-bottom: var(--bs4-spacer) !important; }
.pl-3, .px-3 { padding-left: var(--bs4-spacer) !important; }
.pr-3, .px-3 { padding-right: var(--bs4-spacer) !important; }

.pt-4, .py-4 { padding-top: calc(var(--bs4-spacer) * 1.5) !important; }
.pb-4, .py-4 { padding-bottom: calc(var(--bs4-spacer) * 1.5) !important; }
.pl-4, .px-4 { padding-left: calc(var(--bs4-spacer) * 1.5) !important; }
.pr-4, .px-4 { padding-right: calc(var(--bs4-spacer) * 1.5) !important; }

.pt-5, .py-5 { padding-top: calc(var(--bs4-spacer) * 3) !important; }
.pb-5, .py-5 { padding-bottom: calc(var(--bs4-spacer) * 3) !important; }
.pl-5, .px-5 { padding-left: calc(var(--bs4-spacer) * 3) !important; }
.pr-5, .px-5 { padding-right: calc(var(--bs4-spacer) * 3) !important; }

/* Suporte a breakpoints do Bootstrap 4 (sm, md, lg, xl) */
@media (min-width: 576px) {
  .m-sm-0 { margin: 0 !important; }
  .m-sm-1 { margin: calc(var(--bs4-spacer) * 0.25) !important; }
  .m-sm-2 { margin: calc(var(--bs4-spacer) * 0.5) !important; }
  .m-sm-3 { margin: var(--bs4-spacer) !important; }
  .m-sm-4 { margin: calc(var(--bs4-spacer) * 1.5) !important; }
  .m-sm-5 { margin: calc(var(--bs4-spacer) * 3) !important; }
  .m-sm-auto { margin: auto !important; }

  .mt-sm-0, .my-sm-0 { margin-top: 0 !important; }
  .mb-sm-0, .my-sm-0 { margin-bottom: 0 !important; }
  .ml-sm-0, .mx-sm-0 { margin-left: 0 !important; }
  .mr-sm-0, .mx-sm-0 { margin-right: 0 !important; }
  /* Adicione outras classes para sm conforme necessário */
}

@media (min-width: 768px) {
  .m-md-0 { margin: 0 !important; }
  .m-md-1 { margin: calc(var(--bs4-spacer) * 0.25) !important; }
  .m-md-2 { margin: calc(var(--bs4-spacer) * 0.5) !important; }
  .m-md-3 { margin: var(--bs4-spacer) !important; }
  .m-md-4 { margin: calc(var(--bs4-spacer) * 1.5) !important; }
  .m-md-5 { margin: calc(var(--bs4-spacer) * 3) !important; }
  .m-md-auto { margin: auto !important; }

  .mt-md-0, .my-md-0 { margin-top: 0 !important; }
  .mb-md-0, .my-md-0 { margin-bottom: 0 !important; }
  .ml-md-0, .mx-md-0 { margin-left: 0 !important; }
  .mr-md-0, .mx-md-0 { margin-right: 0 !important; }
  /* Adicione outras classes para md conforme necessário */
}

@media (min-width: 992px) {
  .m-lg-0 { margin: 0 !important; }
  .m-lg-1 { margin: calc(var(--bs4-spacer) * 0.25) !important; }
  .m-lg-2 { margin: calc(var(--bs4-spacer) * 0.5) !important; }
  .m-lg-3 { margin: var(--bs4-spacer) !important; }
  .m-lg-4 { margin: calc(var(--bs4-spacer) * 1.5) !important; }
  .m-lg-5 { margin: calc(var(--bs4-spacer) * 3) !important; }
  .m-lg-auto { margin: auto !important; }

  .mt-lg-0, .my-lg-0 { margin-top: 0 !important; }
  .mb-lg-0, .my-lg-0 { margin-bottom: 0 !important; }
  .ml-lg-0, .mx-lg-0 { margin-left: 0 !important; }
  .mr-lg-0, .mx-lg-0 { margin-right: 0 !important; }
  /* Adicione outras classes para lg conforme necessário */
}

@media (min-width: 1200px) {
  .m-xl-0 { margin: 0 !important; }
  .m-xl-1 { margin: calc(var(--bs4-spacer) * 0.25) !important; }
  .m-xl-2 { margin: calc(var(--bs4-spacer) * 0.5) !important; }
  .m-xl-3 { margin: var(--bs4-spacer) !important; }
  .m-xl-4 { margin: calc(var(--bs4-spacer) * 1.5) !important; }
  .m-xl-5 { margin: calc(var(--bs4-spacer) * 3) !important; }
  .m-xl-auto { margin: auto !important; }

  .mt-xl-0, .my-xl-0 { margin-top: 0 !important; }
  .mb-xl-0, .my-xl-0 { margin-bottom: 0 !important; }
  .ml-xl-0, .mx-xl-0 { margin-left: 0 !important; }
  .mr-xl-0, .mx-xl-0 { margin-right: 0 !important; }
  /* Adicione outras classes para xl conforme necessário */
}

/* Paddings para breakpoints */
@media (min-width: 576px) {
  .p-sm-0 { padding: 0 !important; }
  .p-sm-1 { padding: calc(var(--bs4-spacer) * 0.25) !important; }
  .p-sm-2 { padding: calc(var(--bs4-spacer) * 0.5) !important; }
  .p-sm-3 { padding: var(--bs4-spacer) !important; }
  .p-sm-4 { padding: calc(var(--bs4-spacer) * 1.5) !important; }
  .p-sm-5 { padding: calc(var(--bs4-spacer) * 3) !important; }

  .pt-sm-0, .py-sm-0 { padding-top: 0 !important; }
  .pb-sm-0, .py-sm-0 { padding-bottom: 0 !important; }
  .pl-sm-0, .px-sm-0 { padding-left: 0 !important; }
  .pr-sm-0, .px-sm-0 { padding-right: 0 !important; }
  /* Adicione outras classes para sm conforme necessário */
}

/* Adicione media queries para md, lg, xl de padding conforme necessário */