/* Event Country event card polish: smaller cards, 8px corners, stronger prices */

/* Better spacing around event sections */
.ecx-section {
  padding-top: 44px !important;
  padding-bottom: 44px !important;
}

.ecx-section-head {
  margin-bottom: 18px !important;
}

.ecx-section-head h2 {
  font-size: clamp(30px, 3.2vw, 44px) !important;
  line-height: 1.06 !important;
}

/* Main grid: slightly smaller cards with better breathing space */
.ecx-event-grid {
  width: min(100%, 1180px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

/* Direct card children */
.ecx-event-grid > * {
  border-radius: 8px !important;
  overflow: hidden !important;
}

/* Common event card class names and fallback direct children */
.ecx-event-card,
.ecx-card-event,
.event-card,
.ecx-experience-card,
.ecx-tour-card,
.ecx-event-grid > article,
.ecx-event-grid > a,
.ecx-event-grid > div:not(.ecx-loader) {
  min-height: 330px !important;
  height: 330px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.12) !important;
}

/* Image/media corners */
.ecx-event-card img,
.ecx-card-event img,
.event-card img,
.ecx-experience-card img,
.ecx-tour-card img,
.ecx-event-grid > article img,
.ecx-event-grid > a img,
.ecx-event-grid > div:not(.ecx-loader) img {
  border-radius: 8px !important;
}

/* Any background media areas */
.ecx-event-media,
.ecx-event-image,
.ecx-card-media,
.ecx-card-image,
.ecx-tour-image,
.ecx-experience-image,
.ecx-event-grid [class*="media"],
.ecx-event-grid [class*="image"] {
  border-radius: 8px !important;
}

/* Make overlays a bit cleaner, not too heavy */
.ecx-event-grid .ecx-card-overlay,
.ecx-event-grid .ecx-event-overlay,
.ecx-event-grid [class*="overlay"] {
  border-radius: 8px !important;
}

/* Card text: slightly smaller and cleaner */
.ecx-event-grid h3,
.ecx-event-grid .ecx-card-title,
.ecx-event-grid .ecx-event-title,
.ecx-event-grid [class*="title"] {
  font-size: 17px !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 8px !important;
}

/* Small badges */
.ecx-event-grid .ecx-badge,
.ecx-event-grid .ecx-chip,
.ecx-event-grid [class*="badge"],
.ecx-event-grid [class*="chip"],
.ecx-event-grid [class*="tag"] {
  border-radius: 8px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  padding: 6px 8px !important;
}

/* Highlight prices more clearly */
.ecx-event-grid .ecx-price,
.ecx-event-grid .ecx-event-price,
.ecx-event-grid .ecx-card-price,
.ecx-event-grid .price,
.ecx-event-grid [class*="price"],
.ecx-event-grid [class*="Price"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 7px 11px !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #ff7a1a, #ff4d00) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  box-shadow: 0 10px 24px rgba(249, 115, 22, 0.34) !important;
  text-shadow: none !important;
}

/* If price is placed over images, make it stand out */
.ecx-event-grid .ecx-price,
.ecx-event-grid .ecx-event-price,
.ecx-event-grid .ecx-card-price {
  z-index: 6 !important;
}

/* Controls on image cards */
.ecx-event-grid button,
.ecx-event-grid .ecx-card-arrow,
.ecx-event-grid [class*="arrow"] {
  border-radius: 8px !important;
}

/* Book button: compact but still clear */
.ecx-event-grid .ecx-book-btn,
.ecx-event-grid .book-now,
.ecx-event-grid [class*="book"],
.ecx-event-grid a[href*="checkout"],
.ecx-event-grid a[href*="event"] {
  border-radius: 8px !important;
}

/* Only buttons inside lower card content should be compact; avoid destroying whole card links */
.ecx-event-grid button,
.ecx-event-grid .ecx-book-button,
.ecx-event-grid .ecx-book-btn {
  min-height: 40px !important;
  font-size: 14px !important;
}

/* Make the image part fit the new shorter card nicely */
.ecx-event-grid .ecx-event-card,
.ecx-event-grid .ecx-card-event,
.ecx-event-grid .event-card,
.ecx-event-grid .ecx-experience-card,
.ecx-event-grid .ecx-tour-card {
  background-size: cover !important;
  background-position: center center !important;
}

/* Responsive */
@media (max-width: 1050px) {
  .ecx-event-grid {
    width: min(100%, 820px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ecx-event-card,
  .ecx-card-event,
  .event-card,
  .ecx-experience-card,
  .ecx-tour-card,
  .ecx-event-grid > article,
  .ecx-event-grid > a,
  .ecx-event-grid > div:not(.ecx-loader) {
    height: 320px !important;
    min-height: 320px !important;
  }
}

@media (max-width: 640px) {
  .ecx-section {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  .ecx-event-grid {
    width: min(100%, 420px) !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .ecx-event-card,
  .ecx-card-event,
  .event-card,
  .ecx-experience-card,
  .ecx-tour-card,
  .ecx-event-grid > article,
  .ecx-event-grid > a,
  .ecx-event-grid > div:not(.ecx-loader) {
    height: 315px !important;
    min-height: 315px !important;
  }
}
