/* Bootstrap 4 minimal — doar clasele efectiv folosite de temă (grid + utilitare).
   Înlocuiește bootstrap.min.css (30.7 KB, ~98% nefolosit). */

/* --- Grid --- */
.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.col,
.col-4, .col-5, .col-8, .col-12,
.col-sm-6,
.col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-12,
.col-lg-3, .col-lg-4, .col-lg-6 {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 100%;
}

.col-4  { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-5  { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; }
.col-8  { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; }
.col-12 { -ms-flex: 0 0 100%;       flex: 0 0 100%;       max-width: 100%; }

@media (min-width: 576px) {
  .col-sm-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
}

@media (min-width: 768px) {
  .col-md-4  { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-md-5  { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-md-6  { -ms-flex: 0 0 50%;        flex: 0 0 50%;        max-width: 50%; }
  .col-md-7  { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-md-12 { -ms-flex: 0 0 100%;       flex: 0 0 100%;       max-width: 100%; }
}

@media (min-width: 992px) {
  .col-lg-3 { -ms-flex: 0 0 25%;        flex: 0 0 25%;        max-width: 25%; }
  .col-lg-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-lg-6 { -ms-flex: 0 0 50%;        flex: 0 0 50%;        max-width: 50%; }
}

/* --- Flex utilities --- */
.d-flex { display: -ms-flexbox !important; display: flex !important; }
.justify-content-center { -ms-flex-pack: center !important; justify-content: center !important; }
.align-items-center { -ms-flex-align: center !important; align-items: center !important; }

@media (min-width: 992px) {
  .justify-content-lg-start { -ms-flex-pack: start !important; justify-content: flex-start !important; }
  .justify-content-lg-end { -ms-flex-pack: end !important; justify-content: flex-end !important; }
}

/* --- Text utilities --- */
.text-center { text-align: center !important; }
.text-justify { text-align: justify !important; }

/* --- Button base --- */
.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
