/* Divider */
.divider {
  border-top: 1px solid var(--color-primary-3);
  width: 100%;
  margin: 15px 0;
}

/* Margin classes */
.m-3xs {
  margin: var(--space-3xs);
}
.m-2xs {
  margin: var(--space-2xs);
}
.m-xs {
  margin: var(--space-xs);
}
.m-s {
  margin: var(--space-s);
}
.m-m {
  margin: var(--space-m);
}
.m-l {
  margin: var(--space-l);
}
.m-xl {
  margin: var(--space-xl);
}
.m-2xl {
  margin: var(--space-2xl);
}
.m-3xl {
  margin: var(--space-3xl);
}

/* Margin X axis */
.mx-3xs {
  margin-left: var(--space-3xs);
  margin-right: var(--space-3xs);
}
.mx-2xs {
  margin-left: var(--space-2xs);
  margin-right: var(--space-2xs);
}
.mx-xs {
  margin-left: var(--space-xs);
  margin-right: var(--space-xs);
}
.mx-s {
  margin-left: var(--space-s);
  margin-right: var(--space-s);
}
.mx-m {
  margin-left: var(--space-m);
  margin-right: var(--space-m);
}
.mx-l {
  margin-left: var(--space-l);
  margin-right: var(--space-l);
}
.mx-xl {
  margin-left: var(--space-xl);
  margin-right: var(--space-xl);
}
.mx-2xl {
  margin-left: var(--space-2xl);
  margin-right: var(--space-2xl);
}
.mx-3xl {
  margin-left: var(--space-3xl);
  margin-right: var(--space-3xl);
}

/* Margin Y axis */
.my-3xs {
  margin-top: var(--space-3xs);
  margin-bottom: var(--space-3xs);
}
.my-2xs {
  margin-top: var(--space-2xs);
  margin-bottom: var(--space-2xs);
}
.my-xs {
  margin-top: var(--space-xs);
  margin-bottom: var(--space-xs);
}
.my-s {
  margin-top: var(--space-s);
  margin-bottom: var(--space-s);
}
.my-m {
  margin-top: var(--space-m);
  margin-bottom: var(--space-m);
}
.my-l {
  margin-top: var(--space-l);
  margin-bottom: var(--space-l);
}
.my-xl {
  margin-top: var(--space-xl);
  margin-bottom: var(--space-xl);
}
.my-2xl {
  margin-top: var(--space-2xl);
  margin-bottom: var(--space-2xl);
}
.my-3xl {
  margin-top: var(--space-3xl);
  margin-bottom: var(--space-3xl);
}

/* Individual margins */
.mt-3xs {
  margin-top: var(--space-3xs);
}
.mt-2xs {
  margin-top: var(--space-2xs);
}
.mt-xs {
  margin-top: var(--space-xs);
}
.mt-s {
  margin-top: var(--space-s);
}
.mt-m {
  margin-top: var(--space-m);
}
.mt-l {
  margin-top: var(--space-l);
}
.mt-xl {
  margin-top: var(--space-xl);
}
.mt-2xl {
  margin-top: var(--space-2xl);
}
.mt-3xl {
  margin-top: var(--space-3xl);
}

/* Individual margins - Bottom */
.mb-3xs {
  margin-bottom: var(--space-3xs);
}
.mb-2xs {
  margin-bottom: var(--space-2xs);
}
.mb-xs {
  margin-bottom: var(--space-xs);
}
.mb-s {
  margin-bottom: var(--space-s);
}
.mb-m {
  margin-bottom: var(--space-m);
}
.mb-l {
  margin-bottom: var(--space-l);
}
.mb-xl {
  margin-bottom: var(--space-xl);
}
.mb-2xl {
  margin-bottom: var(--space-2xl);
}
.mb-3xl {
  margin-bottom: var(--space-3xl);
}

/* Individual margins - Left */
.ml-3xs {
  margin-left: var(--space-3xs);
}
.ml-2xs {
  margin-left: var(--space-2xs);
}
.ml-xs {
  margin-left: var(--space-xs);
}
.ml-s {
  margin-left: var(--space-s);
}
.ml-m {
  margin-left: var(--space-m);
}
.ml-l {
  margin-left: var(--space-l);
}
.ml-xl {
  margin-left: var(--space-xl);
}
.ml-2xl {
  margin-left: var(--space-2xl);
}
.ml-3xl {
  margin-left: 0;
}
@media (min-width: 992px) {
  .ml-3xl {
    margin-left: var(--space-3xl);
  }
}

/* Individual margins - Right */
.mr-3xs {
  margin-right: var(--space-3xs);
}
.mr-2xs {
  margin-right: var(--space-2xs);
}
.mr-xs {
  margin-right: var(--space-xs);
}
.mr-s {
  margin-right: var(--space-s);
}
.mr-m {
  margin-right: var(--space-m);
}
.mr-l {
  margin-right: var(--space-l);
}
.mr-xl {
  margin-right: var(--space-xl);
}
.mr-2xl {
  margin-right: var(--space-2xl);
}
.mr-3xl {
  margin-right: 0;
}
@media (min-width: 992px) {
  .mr-3xl {
    margin-right: var(--space-3xl);
  }
}

/* Ripeti per mb (margin-bottom), ml (margin-left), mr (margin-right) */

/* Padding classes */
.p-3xs {
  padding: var(--space-3xs);
}
.p-2xs {
  padding: var(--space-2xs);
}
.p-xs {
  padding: var(--space-xs);
}
.p-s {
  padding: var(--space-s);
}
.p-m {
  padding: var(--space-m);
}
.p-l {
  padding: var(--space-l);
}
.p-xl {
  padding: var(--space-xl);
}
.p-2xl {
  padding: var(--space-2xl);
}
.p-3xl {
  padding: var(--space-3xl);
}

/* Padding X axis */
.px-3xs {
  padding-left: var(--space-3xs);
  padding-right: var(--space-3xs);
}
.px-2xs {
  padding-left: var(--space-2xs);
  padding-right: var(--space-2xs);
}
.px-xs {
  padding-left: var(--space-xs);
  padding-right: var(--space-xs);
}
.px-s {
  padding-left: var(--space-s);
  padding-right: var(--space-s);
}
.px-m {
  padding-left: var(--space-m);
  padding-right: var(--space-m);
}
.px-l {
  padding-left: var(--space-l);
  padding-right: var(--space-l);
}
.px-xl {
  padding-left: var(--space-xl);
  padding-right: var(--space-xl);
}
.px-2xl {
  padding-left: var(--space-2xl);
  padding-right: var(--space-2xl);
}
.px-3xl {
  padding-left: var(--space-3xl);
  padding-right: var(--space-3xl);
}

/* Padding Y axis */
.py-3xs {
  padding-top: var(--space-3xs);
  padding-bottom: var(--space-3xs);
}
.py-2xs {
  padding-top: var(--space-2xs);
  padding-bottom: var(--space-2xs);
}
.py-xs {
  padding-top: var(--space-xs);
  padding-bottom: var(--space-xs);
}
.py-s {
  padding-top: var(--space-s);
  padding-bottom: var(--space-s);
}
.py-m {
  padding-top: var(--space-m);
  padding-bottom: var(--space-m);
}
.py-l {
  padding-top: var(--space-l);
  padding-bottom: var(--space-l);
}
.py-xl {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
}
.py-2xl {
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-2xl);
}
.py-3xl {
  padding-top: var(--space-3xl);
  padding-bottom: var(--space-3xl);
}

/* Individual paddings */
.pt-3xs {
  padding-top: var(--space-3xs);
}
.pt-2xs {
  padding-top: var(--space-2xs);
}
.pt-xs {
  padding-top: var(--space-xs);
}
.pt-s {
  padding-top: var(--space-s);
}
.pt-m {
  padding-top: var(--space-m);
}
.pt-l {
  padding-top: var(--space-l);
}
.pt-xl {
  padding-top: var(--space-xl);
}
.pt-2xl {
  padding-top: var(--space-2xl);
}
.pt-3xl {
  padding-top: var(--space-3xl);
}

/* Individual paddings - Bottom */
.pb-3xs {
  padding-bottom: var(--space-3xs);
}
.pb-2xs {
  padding-bottom: var(--space-2xs);
}
.pb-xs {
  padding-bottom: var(--space-xs);
}
.pb-s {
  padding-bottom: var(--space-s);
}
.pb-m {
  padding-bottom: var(--space-m);
}
.pb-l {
  padding-bottom: var(--space-l);
}
.pb-xl {
  padding-bottom: var(--space-xl);
}
.pb-2xl {
  padding-bottom: var(--space-2xl);
}
.pb-3xl {
  padding-bottom: var(--space-3xl);
}

/* Individual paddings - Left */
.pl-3xs {
  padding-left: var(--space-3xs);
}
.pl-2xs {
  padding-left: var(--space-2xs);
}
.pl-xs {
  padding-left: var(--space-xs);
}
.pl-s {
  padding-left: var(--space-s);
}
.pl-m {
  padding-left: var(--space-m);
}
.pl-l {
  padding-left: var(--space-l);
}
.pl-xl {
  padding-left: var(--space-xl);
}
.pl-2xl {
  padding-left: var(--space-2xl);
}
.pl-3xl {
  padding-left: var(--space-3xl);
}

/* Individual paddings - Right */
.pr-3xs {
  padding-right: var(--space-3xs);
}
.pr-2xs {
  padding-right: var(--space-2xs);
}
.pr-xs {
  padding-right: var(--space-xs);
}
.pr-s {
  padding-right: var(--space-s);
}
.pr-m {
  padding-right: var(--space-m);
}
.pr-l {
  padding-right: var(--space-l);
}
.pr-xl {
  padding-right: var(--space-xl);
}
.pr-2xl {
  padding-right: var(--space-2xl);
}
.pr-3xl {
  padding-right: var(--space-3xl);
}

/* Ripeti per pb (padding-bottom), pl (padding-left), pr (padding-right) */

/* Classi per le coppie one-up */
.m-3xs-2xs {
  margin: var(--space-3xs-2xs);
}
.m-2xs-xs {
  margin: var(--space-2xs-xs);
}
.m-xs-s {
  margin: var(--space-xs-s);
}
.m-s-m {
  margin: var(--space-s-m);
}
.m-m-l {
  margin: var(--space-m-l);
}
.m-l-xl {
  margin: var(--space-l-xl);
}
.m-xl-2xl {
  margin: var(--space-xl-2xl);
}
.m-2xl-3xl {
  margin: var(--space-2xl-3xl);
}

/* Classe per la coppia custom */
.m-s-l {
  margin: var(--space-s-l);
}

/* Versioni padding delle coppie */
.p-3xs-2xs {
  padding: var(--space-3xs-2xs);
}
.p-2xs-xs {
  padding: var(--space-2xs-xs);
}
.p-xs-s {
  padding: var(--space-xs-s);
}
.p-s-m {
  padding: var(--space-s-m);
}
.p-m-l {
  padding: var(--space-m-l);
}
.p-l-xl {
  padding: var(--space-l-xl);
}
.p-xl-2xl {
  padding: var(--space-xl-2xl);
}
.p-2xl-3xl {
  padding: var(--space-2xl-3xl);
}
.p-s-l {
  padding: var(--space-s-l);
}

/* Reset margins */
.m-0 {
  margin: 0;
}
.mt-0 {
  margin-top: 0;
}
.mb-0 {
  margin-bottom: 0;
}
.ml-0 {
  margin-left: 0;
}
.mr-0 {
  margin-right: 0;
}
.mx-0 {
  margin-left: 0;
  margin-right: 0;
}
.my-0 {
  margin-top: 0;
  margin-bottom: 0;
}

/* Reset paddings */
.p-0 {
  padding: 0;
}
.pt-0 {
  padding-top: 0;
}
.pb-0 {
  padding-bottom: 0;
}
.pl-0 {
  padding-left: 0;
}
.pr-0 {
  padding-right: 0;
}
.px-0 {
  padding-left: 0;
  padding-right: 0;
}
.py-0 {
  padding-top: 0;
  padding-bottom: 0;
}

/* Reset margin/padding su tutti i lati */
.m-auto {
  margin: auto;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}
.ml-auto {
  margin-left: auto;
}
.mr-auto {
  margin-right: auto;
}
.mt-auto {
  margin-top: auto;
}
.mb-auto {
  margin-bottom: auto;
}
