/* ==========================================================
   PrimeTech Solutions
   utilities.css
   Utility Classes v1.0
   ========================================================== */

/* Display */
.d-none{display:none!important;}
.d-block{display:block!important;}
.flex{display:flex!important;}
.grid{display:grid!important;}
.inline-flex{display:inline-flex!important;}

/* Flex */
.items-center{align-items:center!important;}
.items-start{align-items:flex-start!important;}
.items-end{align-items:flex-end!important;}
.justify-center{justify-content:center!important;}
.justify-between{justify-content:space-between!important;}
.justify-end{justify-content:flex-end!important;}
.flex-wrap{flex-wrap:wrap!important;}
.flex-column{flex-direction:column!important;}

/* Grid */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}

/* Gap */
.gap-1{gap:.5rem;}
.gap-2{gap:1rem;}
.gap-3{gap:1.5rem;}
.gap-4{gap:2rem;}

/* Width */
.w-100{width:100%;}
.h-100{height:100%;}

/* Margin */
.mt-1{margin-top:.5rem;}
.mt-2{margin-top:1rem;}
.mt-3{margin-top:2rem;}
.mt-4{margin-top:3rem;}

.mb-1{margin-bottom:.5rem;}
.mb-2{margin-bottom:1rem;}
.mb-3{margin-bottom:2rem;}
.mb-4{margin-bottom:3rem;}

.mx-auto{margin-inline:auto;}

/* Padding */
.p-1{padding:.5rem;}
.p-2{padding:1rem;}
.p-3{padding:2rem;}
.p-4{padding:3rem;}

/* Radius */
.rounded-sm{border-radius:var(--radius-sm);}
.rounded{border-radius:var(--radius-md);}
.rounded-lg{border-radius:var(--radius-lg);}
.rounded-pill{border-radius:999px;}

/* Shadows */
.shadow-sm{box-shadow:var(--shadow-sm);}
.shadow-md{box-shadow:var(--shadow-md);}
.shadow-lg{box-shadow:var(--shadow-lg);}
.shadow-glow{box-shadow:var(--shadow-glow);}

/* Glass */
.glass{
    background:var(--glass-bg);
    border:1px solid var(--glass-border);
    backdrop-filter:blur(var(--glass-blur));
}

/* Backgrounds */
.bg-primary{background:var(--gradient-primary);color:#fff;}
.bg-dark{background:var(--bg-secondary);}
.bg-card{background:var(--bg-card);}

/* Text */
.text-center{text-align:center;}
.text-left{text-align:left;}
.text-right{text-align:right;}
.text-primary{color:var(--color-primary);}
.text-muted{color:var(--text-muted);}

/* Position */
.relative{position:relative;}
.absolute{position:absolute;}

/* Overflow */
.overflow-hidden{overflow:hidden;}

/* Responsive */
@media(max-width:992px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:576px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
}
