/* ---------------- HERO BANNER ---------------- */
.hero-banner {
  position: relative;
  background: url('/assets/banner.jpg') center/cover no-repeat;
  height: 380px;
  border-radius: 16px;
  margin: 20px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
}
.hero-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  border-radius: 16px;
}
.hero-content { position: relative; z-index: 2; }
.hero-btn {
    background: #0052cc;
    padding: 12px 26px;
    color: #fff !important;
    border-radius: 8px;
    font-weight: 600;
}

/* ---------------- MARQUEE ---------------- */
.marquee-container {
  overflow: hidden;
  white-space: nowrap;
  background: #0052cc;
  color: #fff;
  padding: 10px 0;
  border-radius: 10px;
  margin: 20px;
}
.marquee-text {
  display: inline-block;
  padding-left: 100%;
  animation: marquee 18s linear infinite;
}
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* ---------------- DESKTOP TABLE ---------------- */
.desktop-only {
    display: table;
}
.events-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}
.events-table th, .events-table td {
    padding: 12px;
    border-bottom: 1px solid #ddd;
}
.event-thumb {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 8px;
}
.no-image {
    width: 70px;
    height: 70px;
    background: #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
}

/* ---------------- MOBILE CARDS ---------------- */
.mobile-only { display: none; }

@media (max-width: 768px) {
    .desktop-only { display: none !important; }
    .mobile-only { display: block !important; }

    .mobile-card-container {
        padding: 10px;
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .event-card {
        background: #fff;
        padding: 15px;
        border-radius: 14px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }

    .card-thumb {
        width: 100%;
        height: 170px;
        object-fit: cover;
        border-radius: 12px;
        margin-bottom: 10px;
    }

    .card-no-image {
        width: 100%;
        height: 170px;
        background: #ccc;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #555;
        margin-bottom: 10px;
    }

    .event-card h3 {
        font-size: 20px;
        margin-bottom: 8px;
    }

    .card-desc {
        font-size: 15px;
        color: #555;
        margin-bottom: 8px;
    }

    .card-date {
        font-size: 14px;
        color: #222;
        margin-bottom: 12px;
    }

    .card-btn-row {
        display: flex;
        justify-content: space-between;
    }
}

/* ---------------- BUTTONS ---------------- */
.view-btn, .register-btn {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 6px;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}
.view-btn {
    background: #2a2a2a;
}
.register-btn {
    background: #d9534f;
}
.view-btn:hover, .register-btn:hover {
    opacity: 0.85;
}
