.nearby-festivals {
  margin: 2rem 0;
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid rgba(23, 42, 70, 0.14);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255, 253, 246, 0.98), rgba(241, 235, 220, 0.82));
  box-shadow: 0 18px 44px rgba(23, 42, 70, 0.1);
}

.latest-festivals {
  margin: 2rem 0;
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid rgba(63, 79, 135, 0.2);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(238, 243, 255, 0.98), rgba(224, 232, 249, 0.86));
  box-shadow: 0 18px 44px rgba(42, 58, 108, 0.12);
}

.latest-festivals[hidden] {
  display: none;
}

.gateway-daily-fairs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin: 2rem 0;
}

.gateway-daily-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(123, 33, 68, 0.2);
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(255, 253, 246, 0.98), rgba(246, 235, 228, 0.88));
  box-shadow: 0 18px 44px rgba(23, 42, 70, 0.1);
}

.gateway-daily-card__label,
.gateway-daily-card time {
  margin: 0;
  color: #6a3149;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gateway-daily-card time {
  margin-top: 8px;
  color: #667181;
  letter-spacing: 0;
  text-transform: none;
}

.gateway-daily-card h2 {
  margin: 14px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.55rem, 2.6vw, 2.2rem);
  line-height: 1.16;
}

.gateway-daily-card h2 a {
  color: #7b2144;
}

.gateway-daily-card__summary,
.gateway-daily-card__insight {
  margin: 18px 0 0;
  color: #364251;
  line-height: 1.65;
}

.gateway-daily-card__insight {
  padding-top: 16px;
  border-top: 1px solid rgba(123, 33, 68, 0.15);
  color: #552c3f;
  font-style: italic;
}

[dir="rtl"] .gateway-daily-card {
  text-align: right;
}

.latest-festivals > h2 {
  margin: 0;
  color: #25396d;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
}

.latest-festivals > p {
  max-width: 760px;
  margin: 10px 0 0;
  color: #505d78;
  line-height: 1.65;
}

.nearby-festivals[hidden] {
  display: none;
}

.nearby-festivals > h2 {
  margin: 0;
  color: #172a46;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
}

.nearby-festivals > p {
  max-width: 760px;
  margin: 10px 0 0;
  color: #4e5968;
  line-height: 1.65;
}

.nearby-festivals .nearby-festivals__history {
  margin-top: 16px;
}

.nearby-festivals__history a {
  color: #7b2144;
  font-weight: 800;
}

.nearby-festivals__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 26px;
}

.latest-festivals__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 26px;
}

.nearby-festival {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(23, 42, 70, 0.13);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.86);
}

.latest-festival {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(63, 79, 135, 0.16);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
}

.nearby-festival__date,
.nearby-festival__place,
.latest-festival .nearby-festival__date,
.latest-festival .nearby-festival__place {
  margin: 0;
  color: #667181;
  font-size: 0.82rem;
  font-weight: 750;
}

.nearby-festival h3 {
  margin: 10px 0 8px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.28rem;
  line-height: 1.2;
}

.latest-festival h3 {
  margin: 10px 0 8px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.28rem;
  line-height: 1.2;
}

.nearby-festival h3 a,
.nearby-festival__more a,
.latest-festival h3 a,
.latest-festival .nearby-festival__more a {
  color: #7b2144;
}

.nearby-festival > p:not([class]) {
  margin: 14px 0 0;
  color: #364251;
  line-height: 1.58;
}

.latest-festival > p:not([class]) {
  margin: 14px 0 0;
  color: #364251;
  line-height: 1.58;
}

.nearby-festival__more {
  margin: auto 0 0;
  padding-top: 18px;
  font-weight: 800;
}

[dir="rtl"] .nearby-festival,
[dir="rtl"] .nearby-festivals,
[dir="rtl"] .latest-festival,
[dir="rtl"] .latest-festivals {
  text-align: right;
}

@media (max-width: 1000px) {
  .nearby-festivals__grid,
  .latest-festivals__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .nearby-festivals,
  .latest-festivals {
    border-radius: 22px;
  }

  .nearby-festivals__grid,
  .latest-festivals__grid {
    grid-template-columns: 1fr;
  }

  .gateway-daily-fairs {
    grid-template-columns: 1fr;
  }

  .gateway-daily-card {
    border-radius: 22px;
  }
}
