.bloco,.block{display:block}
.inline{display: inline-block}
.flex{display:flex}
.flex-1{flex:1}
.flex-col{flex-direction:column}
.flex-row{flex-direction:row}
.flex-wrap{flex-wrap:wrap}
.flex-nowrap{flex-wrap:nowrap}
.alinhar-centro{align-items:center}
.alinhar-inicio{align-items:flex-start}
.alinhar-fim{align-items:flex-end}
.alinhar-stretch{align-items:stretch}
.justificar-centro{justify-content:center}
.justificar-inicio{justify-content:flex-start}
.justificar-fim{justify-content:flex-end}
.justificar-entre{justify-content:space-between}
.justificar-around{justify-content:space-around}
.se-alinhar-centro{align-self:center}
.se-alinhar-inicio{align-self:flex-start}
.se-alinhar-fim{align-self:flex-end}

/* ──────── GRID ──────── */
.grid{display:grid}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr)}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr)}
.grid-6{display:grid;grid-template-columns:repeat(6,1fr)}

/* ──────── PADDING ──────── */
.p-8{padding:0.5rem}
.pt-8{padding-top:0.5rem}
.pr-8{padding-right:0.5rem}
.pb-8{padding-bottom:0.5rem}
.pl-8{padding-left:0.5rem}
.px-8{padding-left:0.5rem;padding-right:0.5rem}
.py-8{padding-top:0.5rem;padding-bottom:0.5rem}
.p-12{padding:0.75rem}
.pt-12{padding-top:0.75rem}
.pr-12{padding-right:0.75rem}
.pb-12{padding-bottom:0.75rem}
.pl-12{padding-left:0.75rem}
.px-12{padding-left:0.75rem;padding-right:0.75rem}
.py-12{padding-top:0.75rem;padding-bottom:0.75rem}
.p-16{padding:1rem}
.pt-16{padding-top:1rem}
.pr-16{padding-right:1rem}
.pb-16{padding-bottom:1rem}
.pl-16{padding-left:1rem}
.px-16{padding-left:1rem;padding-right:1rem}
.py-16{padding-top:1rem;padding-bottom:1rem}
.p-20{padding:1.25rem}
.pt-20{padding-top:1.25rem}
.pr-20{padding-right:1.25rem}
.pb-20{padding-bottom:1.25rem}
.pl-20{padding-left:1.25rem}
.px-20{padding-left:1.25rem;padding-right:1.25rem}
.py-20{padding-top:1.25rem;padding-bottom:1.25rem}
.p-24{padding:1.5rem}
.pt-24{padding-top:1.5rem}
.pr-24{padding-right:1.5rem}
.pb-24{padding-bottom:1.5rem}
.pl-24{padding-left:1.5rem}
.px-24{padding-left:1.5rem;padding-right:1.5rem}
.py-24{padding-top:1.5rem;padding-bottom:1.5rem}
.p-32{padding:2rem}
.pt-32{padding-top:2rem}
.pr-32{padding-right:2rem}
.pb-32{padding-bottom:2rem}
.pl-32{padding-left:2rem}
.px-32{padding-left:2rem;padding-right:2rem}
.py-32{padding-top:2rem;padding-bottom:2rem}
.p-40{padding:2.5rem}
.pt-40{padding-top:2.5rem}
.pr-40{padding-right:2.5rem}
.pb-40{padding-bottom:2.5rem}
.pl-40{padding-left:2.5rem}
.px-40{padding-left:2.5rem;padding-right:2.5rem}
.py-40{padding-top:2.5rem;padding-bottom:2.5rem}
.p-48{padding:3rem}
.pt-48{padding-top:3rem}
.pr-48{padding-right:3rem}
.pb-48{padding-bottom:3rem}
.pl-48{padding-left:3rem}
.px-48{padding-left:3rem;padding-right:3rem}
.py-48{padding-top:3rem;padding-bottom:3rem}

/* ──────── MARGIN ──────── */
.m-auto{margin:auto}
.mx-auto{margin:0px auto}
.my-auto{margin:auto 0px}
.m-8{margin:0.5rem}
.mt-8{margin-top:0.5rem}
.mr-8{margin-right:0.5rem}
.mb-8{margin-bottom:0.5rem}
.ml-8{margin-left:0.5rem}
.mx-8{margin-left:0.5rem;margin-right:0.5rem}
.my-8{margin-top:0.5rem;margin-bottom:0.5rem}
.m-12{margin:0.75rem}
.mt-12{margin-top:0.75rem}
.mr-12{margin-right:0.75rem}
.mb-12{margin-bottom:0.75rem}
.ml-12{margin-left:0.75rem}
.mx-12{margin-left:0.75rem;margin-right:0.75rem}
.my-12{margin-top:0.75rem;margin-bottom:0.75rem}
.mt-16{margin-top:1rem}
.mr-16{margin-right:1rem}
.mb-16{margin-bottom:1rem}
.ml-16{margin-left:1rem}
.mx-16{margin-left:1rem;margin-right:1rem}
.my-16{margin-top:1rem;margin-bottom:1rem}
.m-20{margin:1.25rem}
.mt-20{margin-top:1.25rem}
.mr-20{margin-right:1.25rem}
.mb-20{margin-bottom:1.25rem}
.ml-20{margin-left:1.25rem}
.mx-20{margin-left:1.25rem;margin-right:1.25rem}
.my-20{margin-top:1.25rem;margin-bottom:1.25rem}
.m-24{margin:1.5rem}
.mt-24{margin-top:1.5rem}
.mr-24{margin-right:1.5rem}
.mb-24{margin-bottom:1.5rem}
.ml-24{margin-left:1.5rem}
.mx-24{margin-left:1.5rem;margin-right:1.5rem}
.my-24{margin-top:1.5rem;margin-bottom:1.5rem}
.m-32{margin:2rem}
.mt-32{margin-top:2rem}
.mr-32{margin-right:2rem}
.mb-32{margin-bottom:2rem}
.ml-32{margin-left:2rem}
.mx-32{margin-left:2rem;margin-right:2rem}
.my-32{margin-top:2rem;margin-bottom:2rem}
.m-40{margin:2.5rem}
.mt-40{margin-top:2.5rem}
.mr-40{margin-right:2.5rem}
.mb-40{margin-bottom:2.5rem}
.ml-40{margin-left:2.5rem}
.mx-40{margin-left:2.5rem;margin-right:2.5rem}
.my-40{margin-top:2.5rem;margin-bottom:2.5rem}
.m-48{margin:3rem}
.mt-48{margin-top:3rem}
.mr-48{margin-right:3rem}
.mb-48{margin-bottom:3rem}
.ml-48{margin-left:3rem}
.mx-48{margin-left:3rem;margin-right:3rem}
.my-48{margin-top:3rem;margin-bottom:3rem}

/* ──────── GAP ──────── */
.gap-4{gap:0.25rem}
.gap-8{gap:0.5rem}
.gap-12{gap:0.75rem}
.gap-16{gap:1rem}
.gap-20{gap:1.25rem}
.gap-24{gap:1.5rem}
.gap-32{gap:2rem}
.gap-40{gap:2.5rem}
.gap-48{gap:3rem}
.gap-64{gap:4rem}
.gap-80{gap:5rem}
.full{width:100%;}
.fit{width:fit-content}
.relativo{position:relative}

/* ──────── TEXTO ──────── */
.texto-centro{text-align:center}
.texto-direita{text-align:right}
.texto-esquerda{text-align:left}
.texto-justificado{text-align:justify}
.thin{font-weight:300}
.bold{font-weight:700}

/* ──────── OUTROS ──────── */
.invisivel,.esconder{display:none !important}
.br-4{border-radius:0.25rem}
.br-8{border-radius:0.5rem}
.br-12{border-radius:0.75rem}
.br-16{border-radius:1rem}
.br-20{border-radius:1.25rem}
.br-24{border-radius:1.5rem}
.br-32{border-radius:2rem}
.br-40{border-radius:2.5rem}
.redondo{border-radius:50%}
.sombra{box-shadow:0px 0px 18px rgba(155,155,155,0.15)}
.pointer {cursor: pointer}