
body {
    background: radial-gradient(circle at top, #0b0b0d 0%, #1b1b1f 70%, #000 100%);
    color: #f8f9fa;
    font-family: 'Roboto', sans-serif;
    overflow-x: hidden;
}

.halloween-bg {
    background: radial-gradient(circle at top, #1a001a, #000);
    background-attachment: fixed;
}

.hero {
    position: relative;
    height: 90vh;
    background: url("../images/background.jpg") center center / cover no-repeat;
}

.hero .content {
    position: relative;
    z-index: 2;
}

.hero .overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
    
}

    /* Testimonials style */
    .testimonials-section {
        padding: 4rem 0;
        background: linear-gradient(rgba(19, 3, 29, 0.5), rgba(19, 3, 29, 1)), url("../images/background_2.jpg") center center / cover no-repeat;
    }

    .section-title {
        color: #6b21a8;
        font-family: 'Creepster', cursive;
        font-size: 32px;
        margin-bottom: 1.5rem;
    }

    /* More spacing between the intro paragraph and the cards grid */
    .testimonials-section .lead.text-muted.mb-5,
    .testimonials-section .lead.mb-5 {
        margin-bottom: 5rem; 
        color: rgba(248, 241, 255, 0.96); 
    }

    .testimonials-section .row {
        padding-top: 6rem; 
    }

    .testimonial-card {
        background: rgba(30, 30, 30, 0.85);
        border: 1px solid rgba(255, 117, 24, 0.4);
        border-radius: 10px;
        padding: 0.9rem;
        box-shadow: 0 0 20px rgba(255, 117, 24, 0.3);
        transition: transform 0.3s, box-shadow 0.3s;
        text-align: center;
        color: #f8eedd;
    }

    .testimonial-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 0 30px rgba(255, 140, 30, 0.6);
    }

    .testimonial-card .avatar {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        object-fit: cover;
        margin: -70px auto 0;
        border: 6px solid #ff7518;
        box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12);
        background: rgba(255,255,255,0.02);
    }

    .testimonial-inner {
        padding-top: 1rem;
    }

    .purple-heading {
        color: #ffa94d; /* match member-card h3 */
        font-weight: 700;
        font-size: 1.1rem;
        margin-top: 0.25rem;
    }

    .muted-small {
        color: #ffd8a8;
        font-size: 0.9rem;
        margin-bottom: 0.5rem;
    }

    .stars {
        color: #ffcc00;
        margin: 0.5rem 0 1rem;
    }

    .quote {
        font-size: 0.95rem;
        color: #f8eedd;
        line-height: 1.45;
    }

    @media (min-width: 992px) {
        .testimonial-card {
            padding: 1.25rem;
        }
    }

.spooky-text {
    font-family: 'Creepster', cursive;
    color: #ff7518;
    text-shadow: 2px 2px 10px rgba(255, 117, 24, 0.7);
    animation: flicker 5s infinite;
}

.btn-warning {
    background-color: #ff7518;
    border: none;
    transition: transform 0.3s ease-in-out;
    animation: floaty 3s ease-in-out infinite;
}

.btn-warning:hover {
    transform: scale(1.08);
    background-color: #ffa94d;
    box-shadow: 0 0 20px #ff7518;
}

#meowButton:hover {
  box-shadow: 0 0 20px #ffa500;
  transform: scale(1.05);
}

.btn-outline-warning {
  color: #ff7518; 
  border-color: #ff7518;
  background-color: transparent;
  transition: all 0.3s ease-in-out;
}

.btn-outline-warning:hover {
  background-color: #ff7518;
  color: #000;
  border-color: #ff7518;
  box-shadow: 0 0 15px #ff7518; 
  transform: scale(1.05);
}

@keyframes flicker {
    0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% { opacity: 1; }
    20%, 24%, 55% { opacity: 0.4; }
}

@keyframes floaty {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

html {
  scroll-behavior: smooth;
}

@media (max-width: 768px) {
  .hero h1 {
      font-size: 2rem;
  }
  .hero p {
      font-size: 1rem;
  }
}