/* INTRO */
:root {
    --color-black: #000000;
    --color-pink: #FF2DAA;
    --color-magenta: #D100A8;
    --color-purple: #7A1FFF;
    --color-neon-pink: #FF4EC4;
    --color-white: #FFFFFF;
}

.intro-section {
    background: #111;
    padding: 50px 30px;
    text-align: center;
}

.section-title {
    color: var(--color-magenta);
    font-size: 36px;
    margin-bottom: 20px;
}

.section-text {
    color: var(--color-white);
    font-size: 18px;
    max-width: 800px;
    margin: 0 auto;
}
/* Global line spacing */
body {
    line-height: 1.5;
}

/* SHOWS */
.shows-section {
    background: #000;
    padding: 50px 30px;
    text-align: center;
}

.shows-grid {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 40px;
}

.show-card {
    background: #111;
    border: 1px solid var(--color-magenta);
    padding: 30px;
    width: 280px;
    color: var(--color-white);
    border-radius: 6px;
}

/* GALLERY PREVIEW */
.gallery-preview {
    background: #111;
    padding: 50px 30px;
    text-align: center;
}

.gallery-row {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 40px 0;
}

.gallery-thumb {
    width: 200px;
    height: 200px;
    background: #333;
    border: 2px solid var(--color-magenta);
    border-radius: 4px;
}

/* TESTIMONIALS */
.testimonials-page {
    background: #000; /* full black page background */ 
    color: var(--color-white);
    padding: 40px 40px 50px 30px;
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.testimonial {
    background: #111;
    border: 1px solid #333;
    padding: 25px;
    border-radius: 8px;
}

.testimonial .quote {
    font-size: 18px;
    line-height: 1.5;
    color: var(--color-white);
    margin-bottom: 10px;
}

.testimonial .author {
    font-size: 14px;
    color: var(--color-magenta);
    font-weight: 600;
}
.testimonials-section .testimonial p {
    color: var(--color-white);
}

.testimonials-section .testimonial-author {
    color: var(--color-magenta);
    font-weight: 600;
    display: block;
    margin-top: 6px;
}
/* HOME PAGE TESTIMONIALS SECTION */
.testimonials-section {
    background: #111;          /* full-width dark grey */
    padding: 30px 20px;
    text-align: center;
}

/* Inner width constraint */
.testimonials-inner {
    max-width: 800px;
    margin: 0 auto;
}

/* Heading */
.testimonials-section .section-title {
    color: var(--color-magenta);
    margin-bottom: 25px;
}

/* Individual testimonial */
.testimonial {
    margin-bottom: 30px;
}

.testimonial p {
    color: var(--color-white);
    margin-bottom: 10px;
}

.testimonial-author {
    color: var(--color-magenta);
    font-weight: 600;
    display: block;
    margin-top: 6px;
}

/* CTA */
.cta-section {
    background: #111;
    padding: 30px 20px;
    text-align: center;
}

.cta-title {
    color: var(--color-magenta);
    font-size: 32px;
}

.cta-text {
    color: var(--color-white);
    margin-bottom: 20px;
}
/* CTA BUTTON */
.gold-button {
    background: #ee1ca8;
    color: #000;
    padding: 10px 20px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    transition: 0.3s;
}

.gold-button:hover {
    background: #ed53a0;
}

/* HERO SECTION (hero image info moved to the home page to incorporate $base*/

.hero {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    height: 70vh;          /* keeps the image from being too in-your-face */
    padding: 40px 40px 40px 40px; /* no top padding */
    position: relative;
    text-align: center;
}

.hero-title {
    color: var(--color-white);
    font-size: 48px;
    margin-bottom: 10px;
    text-shadow: 0 2px 6px rgba(0,0,0,0.7);
}


.hero-subtitle {
    color: var(--color-white);
    font-size: 20px;
    margin-bottom: 30px;
}

.hero-button {
    background: #ee1ca8;
    color: #000;
    padding: 14px 28px;
    font-size: 18px;
    text-decoration: none;
    border-radius: 4px;
    transition: 0.3s;
}

.hero-button:hover {
    background: #ed53a0;
}
.hero-content {
    position: relative;
    z-index: 2;
    margin-top: 300px; /* adjust to taste */
}
.site-wrapper {
    padding-top: 0 !important;
}
/* Contact Page */
.contact-page {
    background: #000; /* or #111 for softer dark grey */
    color: var(--color-white);
    padding: 50px 30px;
    text-align: center;
}


.contact-form {
    max-width: 600px;
    margin: 0 auto; /* centres the form */
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    padding: 14px;
    border: 1px solid var(--color-magenta);
    background: #111;
    color: var(--color-white);
    border-radius: 6px;
    font-size: 18px;
}

.contact-form input:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: var(--color-neon-pink);
    box-shadow: 0 0 6px var(--color-neon-pink);
}
.call-button {
    display: inline-block;
    background: var(--color-magenta);
    color: #fff;
    padding: 14px 24px;
    font-size: 20px;
    font-weight: 700;
    border-radius: 6px;
    margin: 20px 0;
    text-decoration: none;
}

.call-button:hover {
    background: var(--color-neon-pink);
}
.booking-note {
    color: var(--color-white);
    font-size: 18px;
    margin-bottom: 10px;
}

.booking-button {
    margin-bottom: 40px;
}


.btn {
    background: var(--color-magenta);
    padding: 14px 24px;
    border: none;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
    border-radius: 6px;
}

.hp-field {
    display: none; /* Honeypot hidden from humans */
}
