/* Layout Utilities */

/* Container Utilities */
.container {
  width: 100%;
  max-width: var(--container-xl);
  margin: 0 auto;
  padding: 0 var(--space-4);
  box-sizing: border-box;
}

/* Grid System */
.grid {
  display: grid;
  gap: var(--space-4);
}

/* Flexbox Utilities */
.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
}

.items-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

/* Display Utilities */
.block {
  display: block;
}

.hidden {
  display: none;
}

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

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

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

/* Border Radius Utilities */
.rounded {
  border-radius: var(--radius-base);
}

.rounded-lg {
  border-radius: var(--radius-lg);
}

.rounded-full {
  border-radius: var(--radius-full);
}

/* Shadow Utilities */
.shadow {
  box-shadow: var(--shadow-base);
}

.shadow-lg {
  box-shadow: var(--shadow-lg);
}

/* Transition Utilities */
.transition {
  transition: all var(--transition-base);
}

.transition-colors {
  transition: color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base);
}

.transition-transform {
  transition: transform var(--transition-base);
}

/* Responsive Design */
@media (max-width: 768px) {
  .container {
    padding: 0 var(--space-3);
  }
  
  .hidden-mobile {
    display: none;
  }
}

@media (min-width: 769px) {
  .hidden-desktop {
    display: none;
  }
}