/*
==================================================
RotaBras Framework CSS
Arquivo: utilities.css
Versão: 2.0
Descrição: Classes utilitárias rápidas e consistentes
==================================================
*/

/* ===== Display ===== */
.d-none{display:none!important;}
.d-block{display:block!important;}
.d-inline{display:inline!important;}
.d-inline-block{display:inline-block!important;}
.d-flex{display:flex!important;}
.d-grid{display:grid!important;}

/* ===== Flex ===== */
.flex-row{flex-direction:row;}
.flex-column{flex-direction:column;}
.flex-wrap{flex-wrap:wrap;}
.items-center{align-items:center;}
.items-start{align-items:flex-start;}
.items-end{align-items:flex-end;}
.justify-center{justify-content:center;}
.justify-between{justify-content:space-between;}
.justify-around{justify-content:space-around;}
.justify-end{justify-content:flex-end;}
.gap-sm{gap:var(--rb-space-sm);}
.gap-md{gap:var(--rb-space-md);}
.gap-lg{gap:var(--rb-space-lg);}

/* ===== Width ===== */
.w-25{width:25%;}
.w-50{width:50%;}
.w-75{width:75%;}
.w-100{width:100%;}
.max-w-container{max-width:var(--rb-container);margin-inline:auto;}

/* ===== Spacing ===== */
.m-0{margin:0;}
.mt-sm{margin-top:var(--rb-space-sm);}
.mt-md{margin-top:var(--rb-space-md);}
.mt-lg{margin-top:var(--rb-space-lg);}
.mb-sm{margin-bottom:var(--rb-space-sm);}
.mb-md{margin-bottom:var(--rb-space-md);}
.mb-lg{margin-bottom:var(--rb-space-lg);}
.p-0{padding:0;}
.p-sm{padding:var(--rb-space-sm);}
.p-md{padding:var(--rb-space-md);}
.p-lg{padding:var(--rb-space-lg);}
.py-md{padding-top:var(--rb-space-md);padding-bottom:var(--rb-space-md);}
.py-lg{padding-top:var(--rb-space-lg);padding-bottom:var(--rb-space-lg);}
.px-md{padding-left:var(--rb-space-md);padding-right:var(--rb-space-md);}

/* ===== Radius ===== */
.radius-sm{border-radius:var(--rb-radius-sm);}
.radius-md{border-radius:var(--rb-radius-md);}
.radius-lg{border-radius:var(--rb-radius-lg);}
.radius-full{border-radius:var(--rb-radius-full);}

/* ===== Shadows ===== */
.shadow-sm{box-shadow:var(--rb-shadow-sm);}
.shadow-md{box-shadow:var(--rb-shadow-md);}
.shadow-lg{box-shadow:var(--rb-shadow-lg);}

/* ===== Colors ===== */
.bg-primary{background:var(--rb-primary);color:var(--rb-bg);}
.bg-surface{background:var(--rb-surface);color:var(--rb-white);}
.bg-card{background:var(--bg-card);}
.text-primary{color:var(--rb-primary);}
.text-secondary{color:var(--rb-text-light);}
.text-muted{color:var(--rb-text-muted);}
.text-white{color:var(--rb-white);}

/* ===== Glass Effect ===== */
.glass{
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.08);
}

/* ===== Buttons ===== */
.btn-reset{
  border:none;
  background:none;
  cursor:pointer;
  font:inherit;
}
.transition{transition:var(--rb-transition);}

/* ===== Responsivo ===== */
@media (max-width:768px){
  .flex-md-column{flex-direction:column!important;}
  .w-md-100{width:100%!important;}
  .text-center-md{text-align:center;}
  .py-lg{padding-top:var(--rb-space-md);padding-bottom:var(--rb-space-md);}
}
