/* Image Overlay Cards Component Styles */

.image-overlay-grid-container {
  display: flex;
  width: 100%;
  flex-direction: column;
}

/* Cards Row Section */

.cards-row-section {
  margin-bottom: 2rem;
  display: flex;
  width: 100%;
  flex-direction: row;
  justify-content: space-between;
}

/* Card 1 - Left */

.grid-card-1 {
  min-height: 300px;
  width: 100%;
  max-width: 48%;
}

@media (min-width: 768px) {
  .grid-card-1 {
    min-height: 400px;
  }
}

/* Card 2 - Right */

.grid-card-2 {
  min-height: 300px;
  width: 100%;
  max-width: 48%;
}

@media (min-width: 768px) {
  .grid-card-2 {
    min-height: 400px;
  }
}

/* Grid Content Area - Center Section */

.grid-content-area {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
  width: 100%;
  max-width: 1100px;
}

.grid-content-area > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(30px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(30px * var(--tw-space-y-reverse));
}

.grid-content-area {
  text-align: left;
}

/* Separator Line - Bottom Full Width */

.grid-separator {
  display: flex;
  width: 100%;
  align-items: baseline;
}

/* Overlay Card Styles */

.overlay-card {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  min-height: 300px;
}

.overlay-card::before {
  content: '';
  pointer-events: none;
  position: absolute;
  inset: 0px;
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
  --tw-gradient-from: rgb(0 0 0 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

/* Responsive Design */

@media (max-width: 768px) {
  .cards-row-section {
    flex-direction: column;
    gap: 1.5rem;
  }

  .grid-card-1,
  .grid-card-2 {
    width: 100%;
    max-width: 100%;
  }

  .grid-content-area {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media (max-width: 1024px) and (min-width: 769px) {
  .grid-card-1,
  .grid-card-2 {
    width: 100%;
    max-width: 48%;
  }

  .grid-content-area {
    max-width: 90%;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* Utility classes for text overflow */

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
