
/*
Theme Name: Minx Monster Markets 2027
Theme URI: https://MinxMonsterMarkets.com
Author: Daniel Jones
Author URI: https://BentonParkPrints.com
Description: A custom WordPress theme designed exclusively for Minx Monster Markets LLC.
Version: 2.4.0
License: Proprietary
License Owner: Minx Monster Markets LLC
Text Domain: minx-monster-markets
*/


:root {
    --sunset-orange: #fe8000; /* Vibrant orange */
    --tangerine: #ffa52b; /* Bright accent orange */
    --amber: #da9530; /* Deep golden orange */
    --golden-sand: #efbd76; /* Soft sandy gold */
    --charcoal: #191919; /* Dark gray */
    --black: #000000; /* Pure black */
  }
/* Gutenberg Alignment Styles */

:target::before {
    content: "";
    display: block;
    height: 100px; /* Offset height */
    margin-top: -100px; /* Negative margin to counteract the height */
    visibility: hidden;
}


/* Wide alignment */
.alignwide {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
    width: auto;
}

/* Full alignment */
.alignfull {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
    width: 100%;
}

/* Left alignment */
.alignleft {
    float: left;
    margin-right: 1.5rem;
}

/* Right alignment */
.alignright {
    float: right;
    margin-left: 1.5rem;
}

/* Center alignment */
.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

body {
    font-family: 'Lexend Deca', sans-serif;
    margin: 0;
    padding: 0;
    background-color: var(--tangerine); /* Fallback background color */
    color: var(--black);
    transition: background-color 1s ease, color 1s ease;
}

/* Smooth fade effect for background and text color */
body, .text-color {
    transition: color 1s ease, background-color 1s ease;
}

.text-color {
    transition: color 1s ease, background-color 1s ease;
}

.text-white {color: #fff !important; }
.text-amber {color: var(--tangerine) !important;}
.bg-black {    background-color: var(--black); /* Fallback background color */}

a {text-decoration: none;}
a:hover {text-decoration: none;}

/* Accessibility helpers */
.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
    position: fixed !important;
    top: 1rem;
    left: 1rem;
    z-index: 10000;
    width: auto;
    height: auto;
    padding: 0.75rem 1rem;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    color: #000;
    background: #fff;
    border: 3px solid #005fcc;
    border-radius: 0.25rem;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #66b3ff !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 2px #000 !important;
}

#site-content p a:not(.btn):not(.mmm-button) {
    text-decoration: underline;
    text-decoration-thickness: 0.12em;
    text-underline-offset: 0.15em;
}

.hero-logo {
    transition: filter 0.8s ease-in-out, opacity 0.8s ease-in-out;
    filter: invert(0%) brightness(100%); /* Black logo by default */
    opacity: 1;
}

.hero-logo.white-logo {
    filter: invert(100%) brightness(100%); /* White logo */
}

/* General Header Styles */
.main-header {
    background-color: #000; /* Header background */
    border-bottom: 2px solid #fff;
    z-index: 1030; /* Ensure visibility */
    width: 100%;
    padding: 10px 0;
}
/* Navbar Links */
.nav-link {
    color: #fff; /* Default text color */
    font-weight: 500;
    margin: 0 15px;
    transition: color 0.3s ease;
    text-transform: uppercase;
}

.nav-link:hover {
    color: #da9530; /* Highlight color */
}

/* Logo Styling */
.header-logo {
    height: auto; /* Allow height to adjust dynamically */
    max-height: 50px; /* Restrict max height for larger screens */
    width: auto;
}

/* Social Icons */
.social-icons img {
    max-width: 25px;
    height: auto;
    margin: 0 10px;
    display: inline-block;
}

/* Responsive Behavior */
@media (max-width: 992px) {
    .navbar-nav {
        flex-direction: column; /* Stack links vertically on smaller screens */
        align-items: center; /* Center-align links */
    }

    .text-lg-start,
    .text-lg-end {
        text-align: center; /* Center-align text on smaller screens */
    }

    /* Adjust Logo */
    .header-logo {
        width: 80%; /* Scale logo to 80% width on mobile */
        max-width: none; /* Remove any max-width restrictions */
        height: auto; /* Maintain aspect ratio */
        margin: 0 auto; /* Center-align logo */
        display: block;
    }
    .header-slide {min-height: 600px;}
}

/* Responsive Behavior */
@media (max-width: 512px) {
    /* Adjust Logo */
    .header-logo {
        margin: 0; /* Center-align logo */
    }
    .header-slide {min-height: 400px;}

}

.three-bars {position: absolute;}
.navbar-toggler-icon {
    width: 1.8rem;
    height: 1.8rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 100%;
}
/* Off-Canvas Menu Styles */
.offcanvas {
    background-color: #121212 !important; /* Dark background */
    color: #ffffff !important; /* Light text */
}

/* Off-Canvas Header */
.offcanvas-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2); /* Stronger divider */
    padding: 1rem 1.5rem;
}

/* Fix the Close Button (X) Visibility */
.offcanvas .btn-close {
    filter: invert(1); /* Ensures white close button */
    opacity: 1 !important;
    width: 24px;
    height: 24px;
}

/* Close Button Hover */
.offcanvas .btn-close:hover {
    filter: invert(64%) sepia(64%) saturate(484%) hue-rotate(9deg) brightness(97%) contrast(92%);
}

/* Logo Styling */
.offcanvas .navbar-brand img {
    width: 90%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Navbar Links in Off-Canvas */
.offcanvas .navbar-nav {
    width: 100%;
    padding: 0;
}

.offcanvas .navbar-nav .nav-item {
    width: 100%;
    text-align: center;
}

.offcanvas .navbar-nav .nav-link,
.offcanvas .navbar-nav .menu-item a {
    color: #ffffff !important; /* Force white text */
    font-size: 1.2rem;
    padding: 12px 0;
    text-transform: uppercase;
    display: block;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2); /* Divider */
    transition: color 0.3s ease-in-out, text-shadow 0.3s ease-in-out;
}

/* Last link doesn't need a border */
.offcanvas .navbar-nav .nav-link:last-child,
.offcanvas .navbar-nav .menu-item:last-child a {
    border-bottom: none;
}

/* Navbar Link Hover Effect */
.offcanvas .navbar-nav .nav-link:hover,
.offcanvas .navbar-nav .menu-item a:hover {
    color: #da9530 !important; /* Highlight color */
    text-shadow: 0px 0px 10px rgba(218, 149, 48, 0.5); /* Soft glow */
}

/* Social Icons */
.offcanvas .social-icons {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
    gap: 20px;
}

/* Social Icons Styling */
.offcanvas .social-icons a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px; /* Slightly bigger */
    height: 55px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    transition: transform 0.2s ease-in-out, background-color 0.3s ease-in-out;
}

/* Social Icons Size */
.offcanvas .social-icons a i {
    font-size: 2rem;
    color: #ffffff !important;
}

/* Social Icons Hover Effect */
.offcanvas .social-icons a:hover {
    transform: scale(1.2);
    background-color: #da9530;
}

/* Base button */
.mmm-button {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    font-family: 'Lexend Deca', sans-serif;
    font-size: 1rem;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 5px;
    border: 2px solid transparent; /* default transparent border */
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  }

/* Black Button Style */
.mmm-button-black {
    background-color: #121212; /* Black background */
    color: #ffffff; /* White text */
    border-color: #121212; /* Matching border */
}

.mmm-button-black:hover {
    background-color: transparent; /* Transparent background */
    color: #121212; /* Black text */
    border-color: #121212; /* Black border */
}

/* White Button Style */
.mmm-button-white {
    background-color: #ffffff; /* White background */
    color: #121212; /* Black text */
    border-color: #ffffff; /* Matching border */
}

.mmm-button-white:hover {
    background-color: transparent; /* Transparent background */
    color: #ffffff; /* White text */
    border-color: #ffffff; /* White border */
}


/* Counting Section */
.counting-section {
    background-color: #1c1c1c; /* Dark grey background */
    color: #ffffff; /* White text */
    padding: 3rem 0;
}

.counting-item {
    background-color: #2e2e2e; /* Slightly lighter dark grey for contrast */
    border-radius: 15px; /* Rounded corners */
    padding: 2rem;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Subtle shadow for depth */
}

.count-number {
    font-size: 4rem; /* Large number size */
    font-weight: bold;
    margin-bottom: 0.5rem;
    font-family: 'Bangers', cursive; /* Unique font for branding */

}

.count-text {
    font-size: 1.5rem; /* Slightly smaller descriptive text */
    text-transform: uppercase;
    font-weight: 300; /* Lighter font for contrast */
    letter-spacing: 1px;
}

/* Add responsive behavior */
@media (max-width: 768px) {
    .counting-item {
        padding: 1.5rem;
    }
    .count-number {
        font-size: 2.5rem;
    }
    .count-text {
        font-size: 1rem;
    }
}


.vendor-featured-image img {
    width: 100%;  /* Ensures the image stretches to fill the container */
    height: auto; /* Maintains aspect ratio */
    max-width: 100%; /* Prevents overscaling */
    display: block; /* Ensures no extra spacing below images */
    object-fit: cover; /* Ensures images fill the space without distortion */
}


.section-title {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.category-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.category-list li {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
    padding: 0.25rem 0.5rem;
    border-radius: 5px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.category-list li:hover {
    background-color: #333; /* Darker background */
    color: #fff; /* White text */
}


/* Hero Section */
.hero-container {
    display: flex;
    align-items: center;
    padding: 50px 0;
    background-size: cover;
    background-position: center;
}
.hero-container img {
    width: 90%;
    height: auto;
    margin-bottom: 20px;
}
.hero-container p {
    font-size: 1rem;
    line-height: 1.6;
}

.header-slide  {min-height: 800px; background-position: center; border-radius: 25px; border: 8px solid white;}
.minx-border  {border-radius: 25px; border: 8px solid white;}

/* Homepage photo story */
.market-photo-section .section-title {
    font-family: 'Bangers', cursive;
    font-size: clamp(3.5rem, 7vw, 7rem);
    line-height: 1;
    margin-bottom: 1rem;
}

.market-photo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: clamp(220px, 18vw, 340px);
    gap: 1rem;
}

.market-photo {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 8px solid #fff;
    border-radius: 25px;
    background: #121212;
}

.market-photo--wide {
    grid-column: span 2;
}

.market-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.market-photo:hover img {
    transform: scale(1.035);
}

@media (max-width: 767px) {
    .market-photo-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 280px;
    }

    .market-photo--wide {
        grid-column: auto;
    }
}

/* About Section */
.about-section {
    padding: 50px 0;
}
.about-section .section-title, .sign-up .section-title {
    font-family: 'Bangers', cursive;
    font-size: 7vw;
    text-align: center;
    color: #ffffff;
    margin-bottom: 20px;
}

.about-section .section-sub-title, .sign-up .section-sub-title {
    font-family: 'Bangers', cursive;
    font-size: 5.8vw;
    text-align: center;
    color: #ffffff;
    margin-bottom: 20px;
}

#site-content p a {color: var(--tangerine) !important;}
#site-content p a:hover {text-decoration: underline;}

.highlighted-text {
    background-color: rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 10px;
}


/* Gallery Grid */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: repeat(6, 1fr);
    grid-gap: 20px; /* Add space between grid items */
    height: 70vh;
    min-height: 600px;
}

/* Grid Items */
.gallery-grid-item {
    background-size: cover;
    background-position: center;
    border-radius: 10px; /* Add rounded corners */
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Grid Item Hover Effects */
.gallery-grid-item:hover {
    transform: scale(1.05); /* Slight zoom */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); /* Add shadow on hover */
}


/* Carousel Section */
.carousel-section {
    position: relative;
    overflow: hidden;
    height: auto; /* Full viewport height */
}


/* Slider Carousel */
.carousel-card {
    height: auto;
    border-radius: 15px;
    background-color: transparent;
    overflow: hidden;
    margin: 0 10px; /* Add horizontal spacing between cards */
}

/* Adjust the carousel track padding to prevent overflow */
.slider-carousel {
    padding: 0 10px; /* Match the card margin for symmetry */
}

.carousel-card .card-img {
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
    margin-bottom: 15px;
    border: 8px solid #ffffff;
}

.carousel-card .card-title {
    font-size: 1.5rem;
    margin: 10px 0;
    color: #000;
    font-weight: bold;
}

.carousel-card .card-text {
    font-size: 1rem;
    color: #000;
    margin-bottom: 15px;
}

/* Carousel Card Button */
.carousel-card .mmm-button-black {
    align-self: center;
    font-size: 1.2rem;
    text-transform: uppercase;
    padding: 10px 20px;
    background-color: black;
    color: white;
    border: 2px solid black;
    border-radius: 5px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.carousel-card .mmm-button-black:hover {
    background-color: white;
    color: black;
}



/* Hearse Section */

/* CSS for Hearse Animation Section */
.hearse-section {
    color: #ffffff;
    padding: 50px 0;
    overflow: hidden;
    position: relative;
}

.hearse-section .section-title {
    font-family: 'Bangers', cursive;
    font-size: 7vw;
    text-align: center;
    color: #ffffff;
    margin-bottom: 20px;
}

/* Section Styles */
.hearse-animation-section {
    position: relative;
    overflow: hidden; /* Prevent content overflow */
    height: auto; /* Half viewport height for visibility */
    min-height: 400px;
    display: flex; /* Flex container for centering */
    align-items: center; /* Vertical centering */
    justify-content: center; /* Horizontal centering */
}

/* Right Hearse Image Animation */
.hearse-right-svg {
    position: absolute;
    left: -150%; /* Start fully off-screen on the left */
    transform: translateY(-50%) scale(0.8); /* Center vertically and start slightly smaller */
    width: 70%; /* Maintain aspect ratio */
    height: auto;
    opacity: 0; /* Start fully transparent */
    transition: transform 1.5s ease-out, opacity 1.5s ease-out, left 1.5s ease-out; /* Smooth animations */
    z-index: 5; /* Ensure proper layering */
}

.hearse-right-svg.animate-in-right {
    left: 50%; /* Move to the horizontal center */
    transform: translateX(-50%) translateY(-100%) scale(1); /* Center and return to full size */
    opacity: 1; /* Fade in */
}

/* Left Hearse Image Animation */
.hearse-svg {
    position: absolute;
    bottom: -200px; /* Start off-screen below the viewport */
    right: -200px; /* Start off-screen to the right */
    transform: scale(0.5); /* Start smaller */
    transition: bottom 1.5s ease-out, right 1.5s ease-out, opacity 1.5s ease-out, transform 1.5s ease-out;
    width: 100%;
    max-width: 400px;
    height: auto;
    opacity: 0; /* Start fully transparent */
    z-index: 10; /* Ensure proper layering */
}

.hearse-svg.animate-in {
    bottom: 50%; /* Align vertically at center of its container */
    right: 50%; /* Align horizontally at center of its container */
    opacity: 1; /* Fade in */
    transform: translate(50%, 50%) scale(1.5); /* Scale up and center */
}

/* Image Grid Section */
.image-grid-section {
    padding: 2rem 0;
}

.image-grid-item {
    position: relative;
    width: 100%;
    height: 33vh;
    min-height: 500px;
    background-size: cover;
    background-position: center;
    border-radius: 10px; /* Optional rounded corners */
    overflow: hidden;
    transition: transform 0.3s ease; /* Smooth zoom effect */
}

.image-grid-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.25) 50%, rgba(0, 0, 0, 0.5) 100%);
    z-index: 1; /* Ensure it sits between the image and text/logo */
    pointer-events: none; /* Prevent interaction with the gradient */
}

.image-grid-item:hover {
    transform: scale(1.1); /* Slight zoom on hover */
}

a:focus-visible .image-grid-item {
    transform: scale(1.03);
}

/* Overlay Text */
.overlay-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    z-index: 2;
    pointer-events: none; /* Prevent interaction with the text */
    font-family: 'Bangers', cursive; /* Unique font for branding */
    line-height: 4rem;
    width: 100%;

}

.overlay-text .small-text {
    font-size: 3rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 0.25rem;
    display: block;
    font-weight: 300;
}

.overlay-text .large-text {
    font-size: 6rem;
    font-weight: bold;
    text-transform: uppercase;
}

/* Overlay Logo */
.overlay-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 70%; /* Adjust logo size */
    z-index: 2; /* Ensure it sits above the gradient */
    opacity: 1; /* Ensure the logo is fully visible */
    pointer-events: none; /* Prevent interaction with the logo */
}



/* CSS for Host Section */
/* Host Section */
.host-section {
    position: relative;
    overflow: hidden; /* Prevent content overflow */
}


.host-section .section-title {
    font-family: 'Bangers', cursive;
    font-size: 6vw;
    text-align: center;
    color: #ffffff;
    margin-bottom: 20px;
}

.host-section .section-sub-title {
    font-family: 'Bangers', cursive;
    font-size: 4vw;
    text-align: center;
    color: #ffffff;
    margin-bottom: 20px;
}




.image-collage {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(6, 1fr);
    grid-column-gap: 15px; /* Gutters between columns */
    grid-row-gap: 15px;    /* Gutters between rows */
    height: 66vh;
    min-height: 600px;
}

.collage-item {
    background-size: cover;
    background-position: center;
    border-radius: 10px; /* Rounded corners */
    overflow: hidden;
}

/* Grid Area Assignments */
.div1 {
    grid-area: 1 / 1 / 5 / 4; /* Large image covering 4 rows and 3 columns */
}

.div2 {
    grid-area: 5 / 1 / 7 / 4; /* Medium image covering 2 rows and 3 columns */
}

.div3 {
    grid-area: 1 / 4 / 3 / 6; /* Small image in the top-right */
}

.div4 {
    grid-area: 3 / 4 / 5 / 6; /* Small image in the middle-right */
}

.div5 {
    grid-area: 5 / 4 / 7 / 6; /* Small image in the bottom-right */
}

.reverse-div1 { grid-area: 1 / 1 / 3 / 3; }
.reverse-div2 { grid-area: 3 / 1 / 5 / 3; }
.reverse-div3 { grid-area: 5 / 1 / 7 / 3; }
.reverse-div4 { grid-area: 1 / 3 / 5 / 6; }
.reverse-div5 { grid-area: 5 / 3 / 7 / 6; }

/* Section Title and Text */
.section-title {
    font-family: 'Bangers', cursive;
    font-size: 2.5rem;
    color: #121212;
    margin-bottom: 1rem;
}

.mmm-button-black {
    display: inline-block;
    background-color: #121212;
    color: #ffffff;
    padding: 0.75rem 1.5rem;
    border-radius: 5px;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 1rem;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.mmm-button-black:hover {
    background-color: #ffffff;
    color: #121212;
    border: 1px solid #121212;
}



/* Section 2 */
.bg-photo {
    background-size: cover;
    background-position: center;
    border-radius: 15px;
    height: 100%;
}


/* Newsletter Section */
.newsletter-section {
    padding: 50px 0;
    color: #000000;
}
.newsletter-section h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
}
.newsletter-section p {
    font-size: 1.2rem;
    margin-bottom: 20px;
}

/* General Form Styles */
#gform_wrapper_1 {
    padding: 2rem;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: 2rem auto;
    max-width: 960px;
    background-color: #121212;
    text-align: center;
    border: 4px solid #fff;
}

/* Form Title */
#gform_wrapper_1 .gform_title {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 1.5rem;
    color: #ffffff;
}

/* Form Description */
#gform_wrapper_1 .gform_description {
    font-size: 1.2rem;
    color: #d1d1d1;
    text-align: center;
    margin-bottom: 2rem;
}

/* Field Wrapper */
#gform_wrapper_1 .gfield {
    margin-bottom: 1.5rem;
    text-align: center;
}

/* Field Labels */
#gform_wrapper_1 .gfield_label {
    font-size: 1rem;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 0.5rem;
    display: block;
}

/* Input Fields */
#gform_wrapper_1 input[type="text"],
#gform_wrapper_1 input[type="email"],
#gform_wrapper_1 input[type="url"],
#gform_wrapper_1 input[type="tel"],
#gform_wrapper_1 input[type="number"],
#gform_wrapper_1 textarea,
#gform_wrapper_1 select {
    width: 90%;
    padding: 0.75rem;
    font-size: 1rem;
    border: 2px solid #ffffff;
    border-radius: 8px;
    background-color: #2a2a2a;
    color: #ffffff;
    margin: 0 auto;
}

/* Focus */
#gform_wrapper_1 input:focus,
#gform_wrapper_1 textarea:focus,
#gform_wrapper_1 select:focus {
    border-color: #fe8000;
    outline: 3px solid #66b3ff;
    outline-offset: 2px;
}

/* Radio */
#gform_wrapper_1 input[type="radio"] {
    appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #ffffff;
    border-radius: 4px;
    background-color: #2a2a2a;
    display: inline-block;
    cursor: pointer;
    margin-right: 10px;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

#gform_wrapper_1 input[type="radio"]:checked::after {
    content: "✓";
    color: #ffffff;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Center reCAPTCHA */
#gform_wrapper_1 .gfield.gfield--type-captcha {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.5rem;
}

#label_1_3_1 {color: #fff !important;}
#label_1_3_1 a {color: var(--tangerine);}

/* =====================================================
   FORMS 2 THROUGH 30
===================================================== */

body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) {
    background-color: black;
    border-radius: 25px;
    border: 8px solid white;
    padding: 20px;
}

/* Labels */
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .gfield_label,
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .gform-field-label--type-inline {
    color: white !important;
    font-family: 'Lexend Deca', sans-serif;
    font-weight: normal;
    font-size: 20px;
}

/* Descriptions */
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .gfield_description {
    font-family: 'Lexend Deca', sans-serif;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.9);
    margin-top: 5px;
    margin-bottom: 15px;
}

/* Inputs */
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="text"],
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="email"],
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="url"],
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="tel"],
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="number"],
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="password"],
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) textarea {
    border-radius: 8px;
    background-color: white;
    border: 4px solid white;
    padding: 10px;
    font-family: 'Lexend Deca', sans-serif;
    font-size: 16px;
    width: 100%;
}

/* Checkbox + Radio */
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="checkbox"],
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="radio"] {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    background-color: white;
    border: 1px solid #ccc;
    cursor: pointer;
    appearance: none;
    position: relative;
}

body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="radio"] {
    border-radius: 50%;
}

body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="checkbox"]:checked,
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="radio"]:checked {
    background-color: #fe8000;
    border: 1px solid #fe8000;
}

body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="checkbox"]:checked::after {
    content: "✓";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #000;
    font-size: 0.9rem;
    font-weight: 700;
}

body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #000;
    transform: translate(-50%, -50%);
}

/* Submit */
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .gform_footer input[type="submit"],
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .gform_footer button[type="submit"] {
    background-color: #fe8000;
    color: black;
    font-family: 'Lexend Deca', sans-serif;
    font-size: 18px;
    border-radius: 8px;
    padding: 10px 20px;
    cursor: pointer;
    border: 4px solid #fff;
    transition: background-color 0.3s ease, color 0.3s ease;
    display: block;
    margin: 0 auto;
}

body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .gform_footer input[type="submit"]:hover,
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .gform_footer input[type="submit"]:focus-visible,
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .gform_footer button[type="submit"]:hover,
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .gform_footer button[type="submit"]:focus-visible {
    background-color: #da9530;
    color: white;
}

/* Required */
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .gfield_required {
    color: #fe8000;
}

/* Section Titles */
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .gsection_title {
    text-align: center;
    font-family: 'Bangers', cursive;
    text-transform: uppercase;
    font-size: 4vw;
    color: white;
    margin-top: 25px;
    margin-bottom: 0px;
    border: none;
    box-shadow: none;
}

/* Compact long checkbox lists into readable columns. */
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-three-column-choices .gfield_checkbox {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.8rem 2rem;
}

body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-three-column-choices .gchoice {
    display: flex;
    width: auto !important;
    min-width: 0;
    max-width: none !important;
    margin: 0;
    float: none !important;
    align-items: flex-start;
    gap: 0.55rem;
}

body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-three-column-choices .gchoice input {
    flex: 0 0 auto;
    margin-top: 0.15rem;
}

body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-three-column-choices .gchoice label {
    display: block;
    width: auto !important;
    min-width: 0;
    max-width: none !important;
    flex: 1 1 auto;
    overflow: visible !important;
    color: #fff;
    line-height: 1.35;
    overflow-wrap: break-word;
    text-overflow: clip !important;
    white-space: normal !important;
}

/* Vendor application payment authorization. Square hosts the sensitive card
   inputs; these rules style only the outer Gravity Forms/Square container. */
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-authorization-product {
    padding: 1.1rem 1.25rem;
    border: 2px solid #fe8000;
    border-radius: 14px;
    background: #191919;
}

body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-authorization-product .ginput_product_price,
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-authorization-product .ginput_product_price_label {
    color: #ffa52b !important;
    font-weight: 800;
}

body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-authorization-card .ginput_container,
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-authorization-card .ginput_container_square_creditcard,
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-authorization-card .ginput_container_square {
    padding: 0.85rem;
    border: 4px solid #fff;
    border-radius: 10px;
    background: #fff;
}

body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-authorization-card:focus-within .ginput_container,
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-authorization-card:focus-within .ginput_container_square_creditcard,
body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-authorization-card:focus-within .ginput_container_square {
    border-color: #fe8000;
    box-shadow: 0 0 0 3px rgba( 254, 128, 0, 0.28 );
}

@media (max-width: 900px) {
    body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-three-column-choices .gfield_checkbox {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    body .gform_wrapper[id^="gform_wrapper_"]:not(#gform_wrapper_1) .minx-three-column-choices .gfield_checkbox {
        grid-template-columns: 1fr !important;
    }
}

/* 2027 registration landing page */
.minx-registration-2027 {
    --registration-cream: #fff8ea;
    --registration-orange: #ffa52b;
    --registration-ink: #101012;
    margin: 0 auto clamp(3rem, 8vw, 7rem);
}

.minx-registration-2027__intro {
    max-width: 980px;
    margin: 0 auto clamp(2.5rem, 6vw, 5rem);
    text-align: center;
}

.minx-registration-2027__eyebrow {
    margin: 0 0 1rem;
    color: var(--registration-orange);
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.minx-registration-2027__eyebrow span {
    margin: 0 0.45rem;
}

.minx-registration-2027__intro h2 {
    max-width: 820px;
    margin: 0 auto 1.25rem;
    color: #fff;
    font-family: 'Bangers', cursive;
    font-size: clamp(3.25rem, 7vw, 6.75rem);
    font-weight: 400;
    letter-spacing: 0.015em;
    line-height: 0.92;
    text-transform: uppercase;
}

.minx-registration-2027__lead {
    max-width: 780px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.78);
    font-size: clamp(1.05rem, 1.7vw, 1.35rem);
    line-height: 1.65;
}

.minx-registration-2027__facts {
    display: flex;
    max-width: 780px;
    margin: 2rem auto 0;
    padding: 1rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.28);
    border-bottom: 1px solid rgba(255, 255, 255, 0.28);
    justify-content: center;
}

.minx-registration-2027__facts span {
    padding: 0.15rem clamp(1rem, 3vw, 2.5rem);
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.minx-registration-2027__facts span + span {
    border-left: 1px solid rgba(255, 255, 255, 0.28);
}

.minx-registration-2027__facts strong {
    color: #fff;
    font-size: 1.08em;
}

.minx-registration-2027__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: stretch;
}

.minx-registration-card {
    display: flex;
    min-width: 0;
    min-height: 520px;
    padding: clamp(1.6rem, 3vw, 2.35rem);
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 30px;
    flex-direction: column;
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.28);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.minx-registration-card:hover {
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.4);
    transform: translateY(-6px);
}

.minx-registration-card--vendor {
    background: var(--registration-orange);
    color: var(--registration-ink);
}

.minx-registration-card--nonprofit {
    background: var(--registration-cream);
    color: var(--registration-ink);
}

.minx-registration-card--inquiry {
    display: grid;
    min-height: 380px;
    border-color: var(--registration-orange);
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
    grid-template-areas:
        "top top"
        "heading body"
        "heading note"
        "heading cta";
    column-gap: clamp(2rem, 6vw, 6rem);
    background: #18181a;
    color: #fff;
}

.minx-registration-card--inquiry .minx-registration-card__top {
    grid-area: top;
}

.minx-registration-card--inquiry h3 {
    max-width: 620px;
    grid-area: heading;
    align-self: start;
}

.minx-registration-card--inquiry > p:not(.minx-registration-card__note) {
    grid-area: body;
}

.minx-registration-card--inquiry .minx-registration-card__note {
    grid-area: note;
}

.minx-registration-card--inquiry .minx-registration-card__cta {
    width: min(100%, 430px);
    grid-area: cta;
    justify-self: start;
}

.minx-registration-card__top {
    display: flex;
    margin-bottom: clamp(2rem, 4vw, 3.8rem);
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.minx-registration-card__top span {
    font-family: 'Bangers', cursive;
    font-size: 2rem;
    line-height: 1;
}

.minx-registration-card__top p {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-align: right;
    text-transform: uppercase;
}

.minx-registration-card h3 {
    margin: 0 0 1.2rem;
    color: inherit;
    font-family: 'Bangers', cursive;
    font-size: clamp(2.6rem, 4vw, 4.2rem);
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 0.96;
    text-transform: uppercase;
}

.minx-registration-card > p {
    margin: 0 0 1rem;
    color: inherit;
    font-size: 1rem;
    line-height: 1.6;
}

.minx-registration-card .minx-registration-card__note {
    padding-top: 1rem;
    border-top: 1px solid currentColor;
    font-size: 0.86rem;
    opacity: 0.75;
}

.minx-registration-card__cta {
    display: inline-flex;
    min-height: 54px;
    margin-top: auto;
    padding: 0.8rem 1.25rem;
    border: 2px solid var(--registration-ink);
    border-radius: 999px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: var(--registration-ink);
    color: #fff !important;
    font-size: 0.9rem;
    font-weight: 900;
    letter-spacing: 0.055em;
    text-decoration: none;
    text-transform: uppercase;
}

.minx-registration-card--inquiry .minx-registration-card__cta {
    border-color: var(--registration-orange);
    background: var(--registration-orange);
    color: var(--registration-ink) !important;
}

.minx-registration-card__cta span {
    font-size: 1.3rem;
    transition: transform 180ms ease;
}

.minx-registration-card__cta:hover span,
.minx-registration-card__cta:focus-visible span {
    transform: translate(3px, -3px);
}

.minx-registration-card__cta:focus-visible {
    outline: 3px solid #66b3ff;
    outline-offset: 3px;
}

@media (max-width: 1050px) {
    .minx-registration-card--inquiry {
        grid-template-columns: minmax(0, 0.85fr) minmax(280px, 1.15fr);
        column-gap: 2rem;
    }
}

@media (max-width: 700px) {
    .minx-registration-2027__facts {
        align-items: stretch;
        flex-direction: column;
    }

    .minx-registration-2027__facts span {
        padding: 0.55rem 0;
    }

    .minx-registration-2027__facts span + span {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        border-left: 0;
    }

    .minx-registration-2027__grid {
        grid-template-columns: 1fr;
    }

    .minx-registration-card {
        min-height: 460px;
    }

    .minx-registration-card--inquiry {
        display: flex;
        min-height: 460px;
        grid-column: auto;
        flex-direction: column;
    }

    .minx-registration-card--inquiry .minx-registration-card__cta {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .minx-registration-card,
    .minx-registration-card__cta span {
        transition: none;
    }
}

/* Prospective vendor inquiry landing page */
.minx-prospective-inquiry {
    --inquiry-orange: #ffa52b;
    --inquiry-cream: #fff8ea;
    --inquiry-ink: #101012;
    margin: 0 auto clamp(2.5rem, 6vw, 5rem);
}

.minx-prospective-inquiry__hero {
    display: grid;
    padding: clamp(1rem, 2vw, 1.5rem);
    border-radius: 34px;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
    gap: clamp(1rem, 3vw, 2rem);
    background: var(--inquiry-orange);
    color: var(--inquiry-ink);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
}

.minx-prospective-inquiry__copy {
    padding: clamp(1.5rem, 4vw, 4rem);
    align-self: center;
}

.minx-prospective-inquiry__eyebrow {
    margin: 0 0 1.25rem;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.minx-prospective-inquiry__eyebrow span {
    margin: 0 0.4rem;
}

.minx-prospective-inquiry__copy h2 {
    max-width: 720px;
    margin: 0 0 1.5rem;
    color: var(--inquiry-ink);
    font-family: 'Bangers', cursive;
    font-size: clamp(3.75rem, 7vw, 7rem);
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 0.9;
    text-transform: uppercase;
}

.minx-prospective-inquiry__copy > p:last-child {
    max-width: 680px;
    margin: 0;
    font-size: clamp(1.05rem, 1.8vw, 1.35rem);
    font-weight: 600;
    line-height: 1.6;
}

.minx-prospective-inquiry__guide {
    display: flex;
    padding: clamp(1.75rem, 4vw, 3.25rem);
    border: 2px solid var(--inquiry-ink);
    border-radius: 25px;
    flex-direction: column;
    justify-content: center;
    background: var(--inquiry-ink);
    color: #fff;
}

.minx-prospective-inquiry__guide > p {
    margin: 0 0 1.35rem;
    color: var(--inquiry-orange);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.minx-prospective-inquiry__guide ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.minx-prospective-inquiry__guide li {
    position: relative;
    margin: 0;
    padding: 1rem 0 1rem 1.8rem;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
    color: #fff;
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.45;
}

.minx-prospective-inquiry__guide li::before {
    position: absolute;
    top: 1.05rem;
    left: 0;
    color: var(--inquiry-orange);
    content: "✦";
}

.minx-prospective-inquiry__note {
    display: grid;
    margin: 1.25rem 0 0;
    padding: clamp(1.2rem, 2.5vw, 1.75rem) clamp(1.4rem, 3vw, 2.25rem);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 20px;
    grid-template-columns: minmax(220px, 0.45fr) minmax(0, 1.55fr);
    gap: 1rem 2rem;
    align-items: center;
    background: #18181a;
    color: #fff;
}

.minx-prospective-inquiry__note strong {
    color: var(--inquiry-orange);
    font-size: 1rem;
}

.minx-prospective-inquiry__note span {
    color: rgba(255, 255, 255, 0.76);
    line-height: 1.55;
}

.minx-prospective-inquiry__form-intro {
    margin: clamp(3.5rem, 8vw, 7rem) auto 2rem;
    text-align: center;
}

.minx-prospective-inquiry__form-intro p {
    margin: 0 0 0.65rem;
    color: var(--inquiry-orange);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.minx-prospective-inquiry__form-intro h3 {
    margin: 0;
    color: #fff;
    font-family: 'Bangers', cursive;
    font-size: clamp(3.5rem, 7vw, 6.5rem);
    font-weight: 400;
    line-height: 0.95;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .minx-prospective-inquiry__hero {
        grid-template-columns: 1fr;
    }

    .minx-prospective-inquiry__note {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .minx-prospective-inquiry__hero {
        padding: 0.75rem;
        border-radius: 24px;
    }

    .minx-prospective-inquiry__copy,
    .minx-prospective-inquiry__guide {
        padding: 1.5rem;
    }
}


/* Footer */
.footer-section {
    background-color: #121212; /* Dark background */
    border-top: 8px solid #fff;
    color: #ffffff; /* White text */
}

.footer-logo {
    max-width: 90%; /* Adjust as needed */
    display: block;
}

.footer-description {
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.footer-disclaimer {
    font-size: 0.8rem;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.footer-disclaimer a {color: #da9530;}
.footer-disclaimer a:hover{text-decoration: underline;}

.social-icons {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.social-icon {
    font-size: 1.2rem;
    color: #ffffff;
    transition: color 0.3s ease;
}

.social-icon:hover {
    color: #da9530; /* Highlight color on hover */
}

.footer-links {
    list-style: none;
    padding: 0;
}

.footer-links li {
    margin-bottom: 0.8rem;
}

.footer-links a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #da9530; /* Highlight color on hover */
}

/* Single Vendor Page Styles */
.vendor-title {
    width: 100%;
    font-family: 'Bangers', cursive;
    font-size: 8vw;
    color: #ffffff;
    text-align: center;
    margin-bottom: 1rem;
  }

  .vendor-subheadline {
    font-size: 1.75rem;
    font-weight: 400;
    color: #ffffff;
    margin-bottom: 1.5rem;
  }
  
  .vendor-social-title {
    width: 100%;
    font-family: 'Bangers', cursive;
    font-size: 2em;
    color: #ffffff;
    margin-bottom: 1rem;
  }

  .vendor-content {
    color: #ffffff;
    font-size: 1.1em;
  }
  

  /* Social Media Icons Styling */
  .vendor-links {
    padding: 0;
    margin: 0;
  }
  
  .vendor-link-icon i {
    color: #ffffff;
    font-size: 1.5rem;
    transition: color 0.3s ease;
  }
  
  .vendor-link-icon i:hover {
    color: var(--tangerine);
  }
  
  /* Vendor Event Styling */
  .vendor-events-section {
    background-color: #000; /* Dark background */
    color: #fff;
    padding: 50px 0;
}

.vendor-events-section h2 {
    font-size: 2.8rem;
    font-family: 'Bangers', cursive;
    font-weight: bold;
    color: #ffffff;
    text-transform: uppercase;
}

/* Entire event card is now a clickable link */
.event-card {
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    padding: 15px;
    border-radius: 10px;
}

.event-card:hover {
    transform: translateY(-5px);
}

.event-card:focus-visible,
.vendor-listing-card:focus-visible {
    transform: translateY(-5px);
}

.event-card img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

.event-details {
    width: 100%;
    padding-top: 15px;
}

/* Date smaller and italicized */
.event-date {
    font-size: 0.9rem;
    font-style: italic;
    color: #cccccc !important;
    margin-bottom: 5px;
}

.event-title {
    text-decoration: none;
    font-size: 1.25rem;
    color: #ffa52b;
    font-weight: bold;
}

.event-title:hover {
    text-decoration: underline;
    color: #fe8000;
}

.event-category {
    font-size: 1rem;
    color: #ffffff;
}

/* Removes underline and keeps text white when clicking */
.event-card, .event-card:hover, .event-card:focus {
    text-decoration: none;
    color: inherit;
}

/* Vendor Listing Card */
.vendor-listing-card {
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    padding: 15px;
    border-radius: 10px;
}

.vendor-listing-card:hover {
    transform: translateY(-5px);
    box-shadow: 0px 4px 8px rgba(255, 255, 255, 0.1);
}

/* Ensures All Images Use vendor-thumbnail Size */
.vendor-listing-img {
    width: 100%;
    height: auto; /* Will maintain aspect ratio */
    border-radius: 10px;
}

/* Vendor Title Styling */
.vendor-listing-title {
    text-decoration: none;
    font-size: 1.25rem;
    color: #ffa52b;
    font-weight: bold;
    margin-top: 10px;
}

.vendor-listing-title:hover {
    text-decoration: underline;
    color: #fe8000;
}

/* Vendor Category */
.vendor-listing-category {
    font-size: 1rem;
    color: #ffffff;
    margin-top: 5px;
}

/* Responsive Grid (Avoids Bootstrap row-cols-*) */
@media (max-width: 767px) {
    .col-sm-6 { flex: 1 1 100%; } /* 1 column on small screens */
}
@media (min-width: 768px) and (max-width: 991px) {
    .col-lg-4 { flex: 1 1 50%; } /* 2 columns on tablets */
}

.search-filter-label {
    font-family: 'Bangers', cursive !important;
    color: var(--sunset-orange) !important;
    font-size: 1.2rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding-bottom: 8px !important; 
}

/* ===== Minimal CSS for Layout using Bootstrap ===== */
.vendor-search-form {
    margin-bottom: 2rem;
    padding: 1rem;
    background: #222;
    color: #fff;
    border-radius: 5px;
}
.vendor-search-form label {
    font-family: 'Bangers', cursive;
    color: #fe8000;
    font-size: 1.25rem; /* 25% larger */
    display: block;
    padding-bottom: .5rem; /* Equivalent to pb-4 */
}
.vendor-search-form .form-control {
    margin-bottom: 0.5rem; /* Reduced spacing */
    padding: 0.25rem 0.5rem;
    border-radius: 3px;
    border: 1px solid #ccc;
}

/* Vendor Search: align buttons with inputs */
.vendor-search-form .form-control{
  margin-bottom: 0 !important; /* was pushing inputs down */
}

.vendor-search-form .form-group{
  margin-bottom: 0 !important;
}

/* keep consistent label spacing */
.vendor-search-form label{
  margin-bottom: 8px;
  padding-bottom: 0; /* your current padding-bottom adds extra height */
}

.vendor-search-form .btn-primary {
    background: #fe8000;
    border: none;
}
.vendor-search-form .btn-primary:hover {
     background: #da9530;
}
.vendor-search-form .btn-secondary {
    background: #777;
    border: none;
}
.vendor-search-form .btn-secondary:hover {
    background: #555;
}
/* Desktop Layout: Fields and buttons in one row */
@media (min-width: 768px) {
    .vendor-search-form .form-row {
        display: flex;
        align-items: flex-end;
    }
    .vendor-search-form .form-group {
        flex: 1;
        margin-right: 1rem;
    }
    .vendor-search-form .form-group.buttons {
        flex: 0 0 auto;
        display: flex;
        gap: 8px;
        text-align: right;
    }
}
.vendor-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.vendor-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    background: #333;
    padding: 1rem;
    border-radius: 5px;
    color: #fff;
}
.vendor-info {
    max-width: 60%;
}
.vendor-name {
    font-size: 1.3rem;
    margin: 0 0 0.2rem;
}
.vendor-name a {
    color: inherit;
    text-decoration: none;
}
.vendor-name a:hover {
    color: #fe8000;
    text-decoration: underline;
}
.vendor-categories {
    font-size: 0.9rem;
    color: #ccc;
    margin-top: 0.25rem;
}
.vendor-social {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    margin-top: 0.5rem;
}
.vendor-social a {
    color: #fff;
    text-decoration: none;
    font-size: 1.3rem; /* Adjust icon size */
}
.vendor-social a:hover {
    color: #fe8000; /* Hover color */
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .hearse-svg,
    .hearse-right-svg {
        opacity: 1;
        transition: none;
    }

    .hearse-svg {
        bottom: 50%;
        right: 50%;
        transform: translate(50%, 50%) scale(1.5);
    }

    .hearse-right-svg {
        left: 50%;
        transform: translateX(-50%) translateY(-100%) scale(1);
    }

    .image-grid-item:hover,
    .event-card:hover,
    .vendor-listing-card:hover {
        transform: none;
    }
}



