/* =========================================
   ORIGINAL RULES (kept exactly)
   ========================================= */

/* General polish for offer cards */
.offer-card img {
  height: 200px;
  object-fit: cover;
}

/* Multi-item carousel spacing on small screens */
@media (max-width: 767.98px) {
  .carousel .card {
    margin-bottom: 1rem;
  }
}

/* Optional: soften card corners/shadows */
.offer-card {
  border-radius: .75rem;
  overflow: hidden;
}
.offer-card .card-img-top {
  border-top-left-radius: .75rem;
  border-top-right-radius: .75rem;
}

/* =========================================
   OPTIONAL ENHANCEMENTS (non-breaking)
   ========================================= */

/* Global */
body {
  background-color: #f8f9fa;
  font-family: 'Segoe UI', system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
}

/* Public hero section (used on the landing page) */
.hero {
  background: linear-gradient(to right, #004080, #00aaff);
  color: #fff;
  padding: 4rem 2rem;
  text-align: center;
}

.contact-buttons .btn { margin: 0.5rem; }

.social-icons a {
  margin: 0 10px;
  font-size: 1.5rem;
  color: #fff;
}

/* Navbar (public) */
.navbar-custom {
  background-color: #ffffff;
  border-bottom: 1px solid #dee2e6;
}
.navbar-custom a {
  color: #004080 !important;
  font-weight: 500;
}

/* Image gallery tiles (public) */
.image-gallery img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
}

/* Offer hero image (public offer page) */
.offer-hero img {
  max-height: 460px;
  object-fit: cover;
  width: 100%;
  border-radius: .75rem;
}

/* Carousel images (public offer gallery) */
.carousel .carousel-item img {
  max-height: 460px;
  object-fit: cover;
  width: 100%;
  border-radius: .75rem;
}

/* Admin tables readability */
.table td, .table th {
  vertical-align: middle;
}

/* Small helper to keep dates/emails from wrapping awkwardly */
.nowrap { white-space: nowrap; }
