/* Utilities - замена частых inline стилей */

/* Display */
.hidden { display: none !important; }
.block { display: block !important; }

/* Text alignment */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* Margin top */
.mt-0 { margin-top: 0; }
.mt-5 { margin-top: 5px; }
.mt-10 { margin-top: 10px; }
.mt-12 { margin-top: 12px; }
.mt-15 { margin-top: 15px; }
.mt-20 { margin-top: 20px; }
.mt-25 { margin-top: 25px; }
.mt-30 { margin-top: 30px; }
.mt-40 { margin-top: 40px; }

/* Margin bottom */
.mb-0 { margin-bottom: 0; }
.mb-5 { margin-bottom: 5px; }
.mb-10 { margin-bottom: 10px; }
.mb-15 { margin-bottom: 15px; }
.mb-20 { margin-bottom: 20px; }
.mb-30 { margin-bottom: 30px; }

/* Margin left */
.ml-0 { margin-left: 0; }
.ml-10 { margin-left: 10px; }
.ml-15 { margin-left: 15px; }
.ml-20 { margin-left: 20px; }

/* Margin right */
.mr-0 { margin-right: 0; }
.mr-8 { margin-right: 8px; }

/* Margin (all sides) */
.m-0 { margin: 0; }

/* Padding */
.p-0 { padding: 0; }
.p-10 { padding: 10px; }
.p-15 { padding: 15px; }
.p-20 { padding: 20px; }

/* Padding single sides */
.pt-0 { padding-top: 0; }
.pb-0 { padding-bottom: 0; }

/* Font size */
.font-sm { font-size: 0.85em; }
.font-xs { font-size: 0.9rem; }

/* Colors */
.text-muted { color: var(--text-light, #6c757d); }
.text-primary { color: var(--primary-color, #6e8efb); }

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

/* Flexbox */
.flex { display: flex; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.flex-align-center { display: flex; align-items: center; }
.flex-gap-10 { gap: 10px; }

/* Grid */
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.grid-auto { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
.grid-auto-wide { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; }

/* Border radius */
.rounded { border-radius: 8px; }
.rounded-lg { border-radius: 12px; }

/* Font weight */
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }

/* Opacity */
.opacity-70 { opacity: 0.7; }
.opacity-85 { opacity: 0.85; }

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

/* Gap */
.gap-10 { gap: 10px; }
.gap-15 { gap: 15px; }
.gap-20 { gap: 20px; }
