/* Layout Components CSS */

/* Utility Classes */
.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

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

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

.flex-row {
    flex-direction: row;
}

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

.align-items-start {
    align-items: flex-start;
}

.align-items-end {
    align-items: flex-end;
}

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

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

.justify-content-end {
    justify-content: flex-end;
}

.flex-1 {
    flex: 1;
}

.flex-shrink-0 {
    flex-shrink: 0;
}

/* Gap Utilities */
.gap-5 {
    gap: 5px;
}

.gap-10 {
    gap: 10px;
}

.gap-15 {
    gap: 15px;
}

.gap-20 {
    gap: 20px;
}

.gap-25 {
    gap: 25px;
}

/* Padding Utilities */
.p-5 {
    padding: 5px;
}

.p-10 {
    padding: 10px;
}

.p-15 {
    padding: 15px;
}

.p-20 {
    padding: 20px;
}

.p-40 {
    padding: 40px;
}

.px-20 {
    padding-left: 20px;
    padding-right: 20px;
}

.py-10 {
    padding-top: 10px;
    padding-bottom: 10px;
}

.py-15 {
    padding-top: 15px;
    padding-bottom: 15px;
}

.py-20 {
    padding-top: 20px;
    padding-bottom: 20px;
}

.pt-10 {
    padding-top: 10px;
}

.pb-10 {
    padding-bottom: 10px;
}

.pb-15 {
    padding-bottom: 15px;
}

/* Margin Utilities */
.m-0 {
    margin: 0;
}

.mb-8 {
    margin-bottom: 8px;
}

.mb-10 {
    margin-bottom: 10px;
}

.mb-15 {
    margin-bottom: 15px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-25 {
    margin-bottom: 25px;
}

.mt-10 {
    margin-top: 10px;
}

.mt-15 {
    margin-top: 15px;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

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

.w-25 {
    width: 25%;
}

.w-150 {
    width: 150px;
}

.w-200 {
    width: 200px;
}

.h-100 {
    height: 100px;
}

.h-120 {
    height: 120px;
}

.h-150 {
    height: 150px;
}

.h-200 {
    height: 200px;
}

.h-300 {
    height: 300px;
}

.min-h-120 {
    min-height: 120px;
}

.min-h-auto {
    min-height: auto;
}

/* Background Colors */
.bg-white {
    background: white;
}

.bg-light {
    background: #f8f9fa;
}

.bg-primary {
    background: #fdbf30;
}

.bg-error {
    background: #dc2626;
}

/* Text Colors */
.text-primary {
    color: #2c5aa0;
}

.text-secondary {
    color: #6b7280;
}

.text-muted {
    color: #666;
}

.text-light {
    color: #999;
}

.text-dark {
    color: #333;
}

.text-error {
    color: #dc2626;
}

.text-success {
    color: #059669;
}

.text-warning {
    color: #b45309;
}

/* Font Utilities */
.font-weight-500 {
    font-weight: 500;
}

.font-weight-600 {
    font-weight: 600;
}

.font-weight-700 {
    font-weight: 700;
}

.font-size-11 {
    font-size: 11px;
}

.font-size-12 {
    font-size: 12px;
}

.font-size-13 {
    font-size: 13px;
}

.font-size-14 {
    font-size: 14px;
}

.font-size-16 {
    font-size: 16px;
}

.font-size-18 {
    font-size: 18px;
}

.font-size-24 {
    font-size: 24px;
}

.font-size-36 {
    font-size: 36px;
}

/* Border Utilities */
.border-none {
    border: none;
}

.border-radius-4 {
    border-radius: 4px;
}

.border-radius-6 {
    border-radius: 6px;
}

.border-radius-8 {
    border-radius: 8px;
}

.border-radius-12 {
    border-radius: 12px;
}

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

.overflow-auto {
    overflow: auto;
}

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

.position-absolute {
    position: absolute;
}

.position-fixed {
    position: fixed;
}

.position-sticky {
    position: sticky;
}

/* Z-index Utilities */
.z-index-10 {
    z-index: 10;
}

.z-index-100 {
    z-index: 100;
}

.z-index-1000 {
    z-index: 1000;
}

.z-index-9999 {
    z-index: 9999;
}

.z-index-10000 {
    z-index: 10000;
}

/* Display Utilities */
.d-none {
    display: none;
}

.d-block {
    display: block;
}

.d-inline {
    display: inline;
}

.d-inline-block {
    display: inline-block;
}

/* Cursor Utilities */
.cursor-pointer {
    cursor: pointer;
}

/* Opacity Utilities */
.opacity-80 {
    opacity: 0.8;
}

.opacity-90 {
    opacity: 0.9;
}

/* Line Height Utilities */
.line-height-14 {
    line-height: 1.4;
}

.line-height-15 {
    line-height: 1.5;
}

.line-height-16 {
    line-height: 1.6;
}

/* Text Transform Utilities */
.text-uppercase {
    text-transform: uppercase;
}

/* Vertical Align Utilities */
.vertical-align-top {
    vertical-align: top;
}
