.d-flex {
    display: flex;
}

.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.align-items-center {
    align-items: center;
}
.flex-column {
    flex-direction: column;
}
.flex-row {
    flex-direction: row;
}
.flex-row { flex-direction: row; }
.flex-row-reverse { flex-direction: row-reverse; }
.justify-start { justify-content: flex-start; }
.justify-end { justify-content: flex-end; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.align-start { align-items: flex-start; }
.align-end { align-items: flex-end; }
.align-middle { align-items: center; }
.align-baseline { align-items: baseline; }


.p-0 { padding: 0; }
.p-1 { padding: 5px; }
.p-2 { padding: 10px; }
.p-3 { padding: 15px; }
.p-4 { padding: 20px; }
.p-5 { padding: 25px; }

.pt-1 { padding-top: 5px; }
.pt-2 { padding-top: 10px; }
.pt-3 { padding-top: 15px; }
.pt-4 { padding-top: 20px; }

.pb-1 { padding-bottom: 5px; }
.pb-2 { padding-bottom: 10px; }
.pb-3 { padding-bottom: 15px; }
.pb-4 { padding-bottom: 20px; }

.pl-1 { padding-left: 5px; }
.pl-2 { padding-left: 10px; }
.pl-3 { padding-left: 15px; }
.pl-4 { padding-left: 20px; }

.pr-1 { padding-right: 5px; }
.pr-2 { padding-right: 10px; }
.pr-3 { padding-right: 15px; }
.pr-4 { padding-right: 20px; }

.m-0 { margin: 0; }
.m-1 { margin: 5px; }
.m-2 { margin: 10px; }
.m-3 { margin: 15px; }
.m-4 { margin: 20px; }
.m-5 { margin: 25px; }

.mt-1 { margin-top: 5px; }
.mt-2 { margin-top: 10px; }



.mb-1 { margin-bottom: 5px; }
.mb-2 { margin-bottom: 10px; }
.mb-3 { margin-bottom: 15px; }
.mb-4 { margin-bottom: 20px; }

.ml-1 { margin-left: 5px; }
.ml-2 { margin-left: 10px; }
.ml-3 { margin-left: 15px; }
.ml-4 { margin-left: 20px; }

.mr-1 { margin-right: 5px; }
.mr-2 { margin-right: 10px; }
.mr-3 { margin-right: 15px; }
.mr-4 { margin-right: 20px; }

.w-25 { width: 25%; }
.w-50 { width: 50%; }
.w-75 { width: 75%; }
.w-100 { width: 100%; }


.gap-xs { gap: 4px; }

.gap-sm { gap: 8px; }

.gap-md { gap: 16px; }

.gap-lg { gap: 24px; }

.gap-xl { gap: 32px; }

.gap-row-xs { row-gap: 4px; }

.gap-row-sm { row-gap: 8px; }

.gap-row-md { row-gap: 16px; }

.gap-row-lg { row-gap: 24px; }

.gap-row-xl { row-gap: 32px; }

.gap-col-xs { column-gap: 4px; }

.gap-col-sm { column-gap: 8px; }

.gap-col-md { column-gap: 16px; }

.gap-col-lg { column-gap: 24px; }

.gap-col-xl { column-gap: 32px; }

.mt-3 {
    margin-top: 15px;
}
.mt-4 {
    margin-top: 20px;
}


.bg-primary { background-color: var(--primary-color); color: #fff; }
.bg-secondary { background-color: #6c757d; color: #fff; }
.bg-success { background-color: #28a745; color: #fff; }
.bg-danger { background-color: #dc3545; color: #fff; }
.bg-warning { background-color: #ffc107; color: #212529; }
.bg-info { background-color: #17a2b8; color: #fff; }
.bg-light { background-color: #f8f9fa; color: #212529; }
.bg-dark { background-color: #343a40; color: #fff; }
.bg-white { background-color: #fff; color: #212529; }


.bg-gradient-primary { background: linear-gradient(135deg, var(--primary-color), var(--primary-dark)); color: #fff; }



.bg-pattern-dots {
    background-image: radial-gradient(circle, #dee2e6 1px, transparent 1px);
    background-size: 20px 20px;
}
.bg-pattern-stripes {
    background-image: linear-gradient(45deg, #dee2e6 25%, transparent 25%, transparent 50%, #dee2e6 50%, #dee2e6 75%, transparent 75%, transparent);
    background-size: 40px 40px;
}
    .bg-blue-light { background-color: #e3f2fd; }
    .bg-green-light { background-color: #e8f5e9; }
    .bg-purple-light { background-color: #f3e5f5; }
    .bg-yellow-light { background-color: #fff9db; }


/* =========================================
   7. GÖRSEL YARDIMCILARI (IMAGES)
   ========================================= */
.img-fluid {
    max-width: 100%;
    height: auto;
    display: block;
}

.img-rounded { border-radius: var(--radius); }
.img-circle { border-radius: 50%; } 
.img-shadow { box-shadow: var(--shadow); }
.img-bordered {
    border: 2px solid var(--border-color);
    padding: 3px;
    border-radius: var(--radius);
}

.img-center {
    display: block;
    margin-left: auto;
    margin-right: auto;
}


.img-hover-zoom {
    transition: transform 0.3s ease;
    overflow: hidden; 
}
.img-hover-zoom:hover { transform: scale(1.05); }

.img-cover {
    width: 100%;
    height: 100%; 
    min-height: 200px;
    object-fit: cover;
    border-radius: var(--radius);
}

.font-serif { font-family: 'Times New Roman', serif; }
.font-monospace { font-family: 'Courier New', monospace; }

.border { border: 1px solid #ccc; }

.border-thick { border: 3px solid #333; }

.border-dotted { border: 1px dotted #888; }

.border-dashed { border: 1px dashed #888; }

.border-double { border: 3px double #333; }

.border-rounded {
  border: 1px solid var(--bordersolid);
  border-radius: 8px;
}

.border-circle {
  border: 2px solid #333;
  border-radius: 50%;
}

.border-top { border-top: 2px solid var(--bordersolid); }

.border-bottom { border-bottom: 2px solid var(--bordersolid); }

.border-left { border-left: 2px solid var(--bordersolid); }

.border-right { border-right: 2px solid var(--bordersolid); }

.border-primary { border: 2px solid #007bff; }

.border-success { border: 2px solid #28a745; }

.border-warning { border: 2px solid #ffc107; }

.border-danger { border: 2px solid #dc3545; }

.border-opacity { border: 2px solid rgba(0, 0, 0, 0.5); }

.border-thin { border: 0.5px solid #ccc; }

.border-shadow {
  border: 1px solid #ccc;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.border-top-gradient {
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #007bff, #6610f2) 1;
}

.border-gradient {
  border: 1px solid;
  border-image: linear-gradient(90deg, #007bff, #6610f2) 1;
}

.position-relative {position: relative}
.position-absolute {position: absolute}
.position-fixed {position: fixed}
.position-static {position: static}
.position-sticky {position: sticky}


.d-none {
    display: none;

}
.d-block {
    display: block;
}
.d-inline {
    display: inline;
}
.d-inline-block {
    display: inline-block;
}
.d-flex {
    display: flex;
}
.d-grid {
    display: grid;
}
.d-table {
    display: table;
}