/* Industrial Editorial Redesign - Card Overrides */

/* Base Generic Card Overrides */
.card,
.tender-card,
.service-card,
.news-card,
.news-related-card,
.testimonial-card,
.service-modern-card,
.advantage-card,
.news-card-modern,
.tender-card-modern,
.location-card {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid #d7dde2 !important; /* rail-line */
  border-radius: 0 !important; /* Sharp corners */
  box-shadow: none !important;
  transition: all 0.2s ease-in-out !important;
  overflow: hidden !important;
}

/* Hover States */
.card:hover,
.tender-card:hover,
.service-card:hover,
.news-card:hover,
.news-related-card:hover,
.testimonial-card:hover,
.service-modern-card:hover,
.advantage-card:hover,
.news-card-modern:hover,
.tender-card-modern:hover,
.location-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 31, 77, 0.08) !important;
  border-color: #d7dde2 !important; /* light gray, NOT black or navy */
  background: #ffffff !important;
}

/* Remove fake glass borders/lines, gradients, and double borders */
.card::before, .card::after,
.tender-card::before, .tender-card::after,
.service-card::before, .service-card::after,
.news-card::before, .news-card::after,
.news-related-card::before, .news-related-card::after,
.service-modern-card::before, .service-modern-card::after,
.advantage-card::before, .advantage-card::after,
.news-card-modern::before, .news-card-modern::after,
.tender-card-modern::before, .tender-card-modern::after,
.location-card::before, .location-card::after {
  display: none !important;
}

/* Media/Image Containers */
.service-card-media,
.news-card-media,
.news-related-media,
.news-card-image {
  background: #f4f0e8 !important; /* solid sand instead of radial gradients */
  border-radius: 0 !important;
}

.service-card-media img,
.news-card-media img,
.news-related-media img,
.news-card-image img {
  filter: none !important;
  transform: none !important;
  border-radius: 0 !important;
}

/* Subtle image scale on hover */
.service-card:hover .service-card-media img,
.news-card:hover .news-card-media img,
.news-related-card:hover .news-related-media img,
.news-card-modern:hover .news-card-image img {
  transform: scale(1.03) !important;
}

/* Badges / Tags inside cards */
.service-card-badge,
.news-card-badge,
.badge,
.fleet-card-badge {
  border-radius: 0 !important;
  border: 1px solid #d7dde2 !important;
  box-shadow: none !important;
  background: #ffffff !important;
  color: #001f4d !important;
  font-family: var(--font-display, "Montserrat", sans-serif) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-weight: 600 !important;
}

/* Fix specific over-styled badges */
.badge--neutral, .badge--success, .badge--danger, .badge--info {
  background: transparent !important;
}

/* Typography Overrides inside cards */
.service-card-title,
.news-card-title,
.tender-title,
.news-related-title,
.tender-card-title {
  font-family: var(--font-display, "Montserrat", sans-serif) !important;
  text-transform: uppercase;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  color: #001f4d !important;
}

/* Data / Meta inside cards */
.service-card-desc,
.news-card-desc,
.news-card-date,
.tender-meta dt,
.tender-meta dd {
  font-family: var(--font-main, "Montserrat", sans-serif) !important;
  color: #3f5568 !important; /* rail-steel */
}

/* Reset specific meta items background */
.tender-meta-item {
  background: transparent !important;
  border-radius: 0 !important;
  border-color: #d7dde2 !important;
}

/* Links / CTAs inside cards */
.service-card-cta,
.news-card-cta,
.tender-open {
  font-family: var(--font-display, "Montserrat", sans-serif) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #d97a2b !important; /* rail-accent */
  font-weight: 700 !important;
}

.service-card-cta:hover,
.news-card-cta:hover,
.tender-open:hover {
  color: #001f4d !important;
}

/* =========================================================
   RAIL-CARD SYSTEM (Unified Industrial Component)
   ========================================================= */
.rail-card {
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border: 1px solid #d7dde2 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out !important;
  color: #3f5568 !important;
  position: relative !important;
}
.rail-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 31, 77, 0.08) !important;
  border-color: #d7dde2 !important;
}

.rail-card-media {
  position: relative !important;
  background: #f4f0e8 !important;
  border-bottom: 1px solid #d7dde2 !important;
  overflow: hidden !important;
}
.rail-card-media img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
  transition: transform 0.3s ease !important;
}
.rail-card:hover .rail-card-media img {
  transform: scale(1.03) !important;
}

.rail-card-content {
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  background: transparent !important;
}

.rail-card-title {
  font-family: var(--font-display, "Montserrat", sans-serif) !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  color: #001f4d !important;
  margin-top: 0 !important;
  margin-bottom: 0.5rem !important;
  letter-spacing: 0.02em !important;
}

.rail-card-desc {
  font-family: var(--font-main, "Montserrat", sans-serif) !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
  color: #3f5568 !important;
  margin: 0 0 1rem 0 !important;
  flex-grow: 1 !important;
}

.rail-card-footer {
  margin-top: auto !important;
  padding-top: 1rem !important;
  border-top: 1px solid #eaeaea !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.rail-card-link {
  font-family: var(--font-display, "Montserrat", sans-serif) !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  color: #d97a2b !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  transition: color 0.2s ease !important;
}
.rail-card:hover .rail-card-link {
  color: #001f4d !important;
}

.rail-card-badge {
  position: absolute !important;
  top: 1rem !important;
  right: 1rem !important;
  background: #ffffff !important;
  color: #001f4d !important;
  padding: 0.25rem 0.75rem !important;
  font-family: var(--font-display, "Montserrat", sans-serif) !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.05em !important;
  border: 1px solid #d7dde2 !important;
  z-index: 10 !important;
}

/* =========================================================
   GENERIC CARD FIXES (Typography & Padding Fallbacks)
   ========================================================= */

/* Force dark typography inside all cards, fixing white-on-white bugs */
.rail-card h3, .rail-card h4 {
  font-family: var(--font-display, "Montserrat", sans-serif) !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  color: #001f4d !important;
  margin-top: 0 !important;
  margin-bottom: 0.5rem !important;
  letter-spacing: 0.02em !important;
}
.rail-card p {
  font-family: var(--font-main, "Montserrat", sans-serif) !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
  color: #3f5568 !important;
  margin: 0 0 1rem 0 !important;
}

/* Force icons to be visible on white backgrounds */
.advantage-card-icon i,
.fleet-card-icon i {
  color: #001f4d !important;
  font-size: 2rem !important;
  margin-bottom: 1rem !important;
}

.fleet-modern-card { border-radius: 0 !important; }

/* Fix fleet-card-badge size */
.fleet-card-badge {
  padding: 0.2rem 0.6rem !important;
  font-size: 0.75rem !important;
  display: inline-block !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  border-radius: 4px !important;
}

/* =========================================================
   RAIL LAYOUT GRIDS
   ========================================================= */
.rail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

@media (min-width: 1024px) {
  .rail-grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .rail-grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

