/****************************************************************
* Classes personalizadas para texto
*****************************************************************/

.text-primary { color: #24292f; }
.text-reversed { color: #ffffff; }
.text-negative { color: #cf222e; }
.text-positive { color: #1a7f37; }
.text-subtle { color: #6e7781; }

.text-fluid-xs { font-size: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem); }
.text-fluid-sm { font-size: clamp(0.875rem, 0.8rem + 0.375vw, 1rem); }
.text-fluid-base { font-size: clamp(1rem, 0.925rem + 0.375vw, 1.125rem); }
.text-fluid-lg { font-size: clamp(1.125rem, 1rem + 0.625vw, 1.25rem); }
.text-fluid-xl { font-size: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem); }
.text-fluid-2xl { font-size: clamp(1.5rem, 1.25rem + 1.25vw, 1.875rem); }
.text-fluid-3xl { font-size: clamp(1.875rem, 1.5rem + 1.875vw, 2.25rem); }

/* Classes de texto adicionais */
.leading-tight { line-height: 1.25; }
.overflow-clip { text-overflow: clip; white-space: nowrap; overflow: hidden; }
.overflow-ellipsis { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }

/****************************************************************
* Background
*****************************************************************/

.bg-main { background-color: #ffffff; }
.bg-shade { background-color: #f6f8fa; }

/****************************************************************
* SVG colors
*****************************************************************/

.colorize-black { filter: invert(17%) sepia(16%) saturate(629%) hue-rotate(167deg) brightness(95%) contrast(94%); }
.colorize-white { filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%); }
.colorize-negative { filter: invert(19%) sepia(99%) saturate(2779%) hue-rotate(343deg) brightness(91%) contrast(95%); }
.colorize-positive { filter: invert(32%) sepia(95%) saturate(1096%) hue-rotate(113deg) brightness(89%) contrast(85%); }

/* Classes de borda adicionais */
.border-main { border-color: rgba(0, 0, 0, 0.5); }
.border-dark { border-color: #24292f; }

.border-bs { border-top-width: 1px; }
.border-be { border-bottom-width: 1px; }

.border-i { border-left-width: 1px; border-right-width: 1px; }
.border-is { border-left-width: 1px; }
.border-ie { border-right-width: 1px; }

/* Classes de sombra */
.shadow-none { box-shadow: none; }
.shadow-xs { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); }
.shadow-sm { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06); }
.shadow-md { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); }
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); }

/****************************************************************
* Layout
*****************************************************************/
.min-i-0 { min-width: 0; }
.max-i-none { max-width: none; }
.max-i-full { max-width: 100%; }

.b-full { height: 100%; }
.i-full { width: 100%; }

.i-min { width: min-content; }

/* Classes de overflow */
.overflow-x-auto { overflow-x: auto; scroll-snap-type: x mandatory; }
.overflow-y-auto { overflow-y: auto; scroll-snap-type: y mandatory; }
.overflow-hidden { overflow: hidden; }

/* Classes de espaçamento */
.gap { column-gap: 0.5rem; row-gap: 1rem; }
.gap-half { column-gap: 0.25rem; row-gap: 0.5rem; }

/****************************************************************
* Classes com nome diferentes Tailwind
*****************************************************************/

.mbs-0 { margin-top: 0; }
.mbs-1 { margin-top: 0.25rem; }
.mbs-2 { margin-top: 0.5rem; }
.mbs-3 { margin-top: 0.75rem; }
.mbs-4 { margin-top: 1rem; }
.mbs-5 { margin-top: 1.25rem; }
.mbs-6 { margin-top: 1.5rem; }
.mbs-8 { margin-top: 2rem; }
.mbs-10 { margin-top: 2.5rem; }
.mbs-auto { margin-top: auto; }

.mbe-0 { margin-bottom: 0; }
.mbe-1 { margin-bottom: 0.25rem; }
.mbe-2 { margin-bottom: 0.5rem; }
.mbe-3 { margin-bottom: 0.75rem; }
.mbe-4 { margin-bottom: 1rem; }
.mbe-5 { margin-bottom: 1.25rem; }
.mbe-6 { margin-bottom: 1.5rem; }
.mbe-8 { margin-bottom: 2rem; }
.mbe-10 { margin-bottom: 2.5rem; }
.mbe-auto { margin-bottom: auto; }

.mi-0 { margin-left: 0; margin-right: 0; }
.mi-1 { margin-left: 0.25rem; margin-right: 0.25rem; }
.mi-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
.mi-3 { margin-left: 0.75rem; margin-right: 0.75rem; }
.mi-4 { margin-left: 1rem; margin-right: 1rem; }
.mi-5 { margin-left: 1.25rem; margin-right: 1.25rem; }
.mi-6 { margin-left: 1.5rem; margin-right: 1.5rem; }
.mi-8 { margin-left: 2rem; margin-right: 2rem; }
.mi-10 { margin-left: 2.5rem; margin-right: 2.5rem; }
.mi-auto { margin-left: auto; margin-right: auto; }

.mis-0 { margin-left: 0; }
.mis-1 { margin-left: 0.25rem; }
.mis-2 { margin-left: 0.5rem; }
.mis-3 { margin-left: 0.75rem; }
.mis-4 { margin-left: 1rem; }
.mis-5 { margin-left: 1.25rem; }
.mis-6 { margin-left: 1.5rem; }
.mis-8 { margin-left: 2rem; }
.mis-10 { margin-left: 2.5rem; }
.mis-auto { margin-left: auto; }

.mie-0 { margin-right: 0; }
.mie-1 { margin-right: 0.25rem; }
.mie-2 { margin-right: 0.5rem; }
.mie-3 { margin-right: 0.75rem; }
.mie-4 { margin-right: 1rem; }
.mie-5 { margin-right: 1.25rem; }
.mie-6 { margin-right: 1.5rem; }
.mie-8 { margin-right: 2rem; }
.mie-10 { margin-right: 2.5rem; }
.mie-auto { margin-right: auto; }


.pbs-0 { padding-top: 0; }
.pbs-1 { padding-top: 0.25rem; }
.pbs-2 { padding-top: 0.5rem; }
.pbs-3 { padding-top: 0.75rem; }
.pbs-4 { padding-top: 1rem; }
.pbs-5 { padding-top: 1.25rem; }
.pbs-6 { padding-top: 1.5rem; }
.pbs-8 { padding-top: 2rem; }
.pbs-10 { padding-top: 2.5rem; }

.pbe-0 { padding-bottom: 0; }
.pbe-1 { padding-bottom: 0.25rem; }
.pbe-2 { padding-bottom: 0.5rem; }
.pbe-3 { padding-bottom: 0.75rem; }
.pbe-4 { padding-bottom: 1rem; }
.pbe-5 { padding-bottom: 1.25rem; }
.pbe-6 { padding-bottom: 1.5rem; }
.pbe-8 { padding-bottom: 2rem; }
.pbe-10 { padding-bottom: 2.5rem; }

.pi-0 { padding-left: 0; padding-right: 0; }
.pi-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
.pi-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.pi-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.pi-4 { padding-left: 1rem; padding-right: 1rem; }
.pi-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.pi-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.pi-8 { padding-left: 2rem; padding-right: 2rem; }
.pi-10 { padding-left: 2.5rem; padding-right: 2.5rem; }

.pis-0 { padding-left: 0; }
.pis-1 { padding-left: 0.25rem; }
.pis-2 { padding-left: 0.5rem; }
.pis-3 { padding-left: 0.75rem; }
.pis-4 { padding-left: 1rem; }
.pis-5 { padding-left: 1.25rem; }
.pis-6 { padding-left: 1.5rem; }
.pis-8 { padding-left: 2rem; }
.pis-10 { padding-left: 2.5rem; }

.pie-0 { padding-right: 0; }
.pie-1 { padding-right: 0.25rem; }
.pie-2 { padding-right: 0.5rem; }
.pie-3 { padding-right: 0.75rem; }
.pie-4 { padding-right: 1rem; }
.pie-5 { padding-right: 1.25rem; }
.pie-6 { padding-right: 1.5rem; }
.pie-8 { padding-right: 2rem; }
.pie-10 { padding-right: 2.5rem; }

/****************************************************************
* Media Queries
*****************************************************************/

.show\@sm, .show\@md, .show\@lg, .show\@xl { display: none; }

@media (min-width: 40rem) {
  .show\@sm { display: flex; }
}
@media (min-width: 48rem) {
  .show\@md { display: flex; }
}
@media (min-width: 64rem) {
  .show\@lg { display: flex; }
}
@media (min-width: 80rem) {
  .show\@xl { display: flex; }
}

@media (min-width: 40rem) {
  .hide\@sm { display: none; }
}
@media (min-width: 48rem) {
  .hide\@md { display: none; }
}
@media (min-width: 64rem) {
  .hide\@lg { display: none; }
}
@media (min-width: 80rem) {
  .hide\@xl { display: none; }
}

@media (display-mode: standalone) {
  .hide\@pwa { display: none; }
}
@media (display-mode: browser) {
  .hide\@browser { display: none; }
}

@media print {
  .hide\@print { display: none; }
}
