/* Featured promotions grid section */
.featured-promos {
  background: #fff;
  padding: 24px 0 36px;
  border-top: 1px solid #ededed;
}

.promos-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

.promos-grid .promo-card-large:nth-child(1),
.promos-grid .promo-card-large:nth-child(2) {
  grid-column: auto;
  min-height: 360px;
}

/* Responsive featured promo layout */
@media (max-width: 1024px) {
  .promos-grid {
    grid-template-columns: 1fr;
  }
  .promo-card-large {
    min-height: 280px;
  }
  .promo-content {
    padding: 24px;
  }
}

@media (max-width: 640px) {
  .promo-content {
    padding: 18px;
  }
}

/* Promo card with background image */
.promo-card-large {
  position: relative;
  min-height: 320px;
  border-radius: 12px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: flex-end;
  box-shadow: 0 6px 18px rgba(10, 10, 10, 0.1);
  transition: transform 0.3s ease;
}

.promo-card-large:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(10, 10, 10, 0.15);
}

/* Dark overlay */
.promo-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.06) 0%, rgba(0, 0, 0, 0.28) 100%);
  z-index: 1;
}

/* Green overlay for promo-green */
.promo-green .promo-overlay-green {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 85, 40, 0.08) 0%, rgba(0, 85, 40, 0.26) 100%);
  z-index: 1;
}

/* Content inside card */
.promo-content {
  position: relative;
  z-index: 2;
  padding: 32px;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-shadow: 0 3px 20px rgba(0, 0, 0, 0.55);
}

.promo-title,
.promo-subtitle,
.promo-tag,
.promo-btn,
.promo-cta {
  color: #fff !important;
}

.promo-title {
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.7);
}

.promo-subtitle {
  opacity: 1;
}

.promo-title {
  font-size: 32px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.promo-subtitle {
  font-size: 1rem;
  font-weight: 500;
  margin: 0;
  opacity: 0.95;
  line-height: 1.4;
}

/* Promo button */
.promo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: 6px;
  border: 2px solid #fff;
  background: transparent;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  width: max-content;
  transition: all 0.3s ease;
}

.promo-btn:hover {
  background: #fff;
  color: #111;
}

/* Light button for green promo */
.promo-btn-light {
  border-color: #fff;
  color: #fff;
}

.promo-btn-light:hover {
  background: #fff;
  color: #00a050;
}

/* Responsive: 2 columns on tablet */
@media (max-width: 1024px) {
  .promos-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  .promo-title {
    font-size: 24px;
  }

  .promo-content {
    padding: 24px;
  }
}

/* Responsive: 1 column on mobile */
@media (max-width: 640px) {
  .promos-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .promo-card-large {
    min-height: 240px;
  }


  .promo-title {
    font-size: 20px;
  }

  .promo-content {
    padding: 16px;
    gap: 8px;
  }

  .promo-subtitle {
    font-size: 0.9rem;
  }
}