/* Alignment fixes for the ASEAN-Connect platform */

/* General alignment fixes */
.row {
  margin-left: -15px;
  margin-right: -15px;
  display: flex;
  flex-wrap: wrap;
}

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, 
.col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, 
.col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, 
.col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, 
.col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, 
.col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, 
.col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, 
.col-xl-8, .col-xl-9, .col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

/* Grid system fixes */
@media (min-width: 576px) {
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  .col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 992px) {
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
}

/* Utility classes */
.d-flex {
  display: flex !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-center {
  justify-content: center !important;
}

.align-items-center {
  align-items: center !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.text-center {
  text-align: center !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-lg-0 {
  margin-bottom: 0 !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.px-3 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.px-4 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

/* Header alignment fixes */
.header-section .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 15px;
}

.brand-logo {
  display: flex;
  align-items: center;
}

.main-navigation-wrapper {
  display: flex;
  align-items: center;
}

.nav-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-item {
  margin: 0 0.75rem;
}

.header-actions {
  display: flex;
  align-items: center;
}

/* Hero section alignment */
.hero-content {
  padding: 2rem 0;
}

.hero-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

/* Stats section alignment */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
}

/* Features section alignment */
.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
}

/* Categories section alignment */
.categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}

/* Exhibitions section alignment */
.exhibitions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}

/* About section alignment */
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
}

/* Footer alignment */
.footer-section .container {
  padding: 2rem 15px;
}

.footer-widget {
  margin-bottom: 1.5rem;
}

.footer-links, .footer-contact {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-link, .footer-contact-item {
  margin-bottom: 0.5rem;
}

/* Responsive fixes */
@media (max-width: 991px) {
  .about-grid {
    grid-template-columns: 1fr;
  }
  
  .d-lg-none {
    display: block !important;
  }
  
  .d-none.d-lg-block {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .hero-actions {
    flex-direction: column;
  }
  
  .d-md-none {
    display: block !important;
  }
  
  .d-none.d-md-block {
    display: none !important;
  }
}

@media (max-width: 575px) {
  .container {
    padding: 0 10px;
  }
}

/* Placeholder image styles */
.placeholder-image {
  background-color: #f0f2f5;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8993a4;
  font-size: 1.5rem;
  border-radius: 8px;
  overflow: hidden;
}

.placeholder-icon {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}

.placeholder-text {
  font-size: 0.875rem;
  text-align: center;
  padding: 0 1rem;
}

.hero-image.placeholder-image {
  height: 300px;
  width: 100%;
  max-width: 800px;
  margin: 2rem auto 0;
}

.feature-icon.placeholder-image {
  width: 60px;
  height: 60px;
  border-radius: 50%;
}

.about-image.placeholder-image {
  height: 400px;
}

.exhibition-image .placeholder-image {
  height: 200px;
}