.thankyou-box {
  position: fixed;  /* change from absolute → fixed */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  width: 1200px;
  height: 600px;
  padding-top: 48px;
}
.thankyou-content {
    background: #fff;
    padding: 2.5em 3em;
    width: 50.3rem;
    height: 35rem;
    text-align: center;
    position: relative;
    /* background-image: url('/home/admin1/Desktop/broadway_website/static/assets/static/9497bf88f8c4ac83068c30686b5f4c58c1af2261.png'); */
}
.thankyou-close {
  position: absolute;
  top: 5px;
  right: -150px;
  background: none;
  border: none;
  font-family: inherit;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 2%;
  cursor: pointer;
}
/* .thankyou-icon {
    font-size: 2.5em;
    margin-bottom: 0.5em;
    color: #4BB543;
} */

 .thankyou-desc{
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: space-around;
  margin-block: 2rem;
}

.thankyou-desc-failure{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: space-around;
    margin-block: 2rem;
}

.thankyou-title {
    color: #FFB800;
    margin: 0;
    font-family: Smart Sans Std;
    font-weight: 700;
    font-style: Bold;
    font-size: 100px;
    line-height: 100%;
    letter-spacing: 2%;
    text-align: center;
}
.thankyou-subtitle {
    color: #000;
    margin: 0;
    font-family: Smart Sans Std;
    font-weight: 700;
    font-style: Bold;
    font-size: 60px;
    line-height: 100%;
    letter-spacing: 2%;
    text-align: center;
}
.thankyou-message {
  color: #222;
  margin-top: 1rem;
  font-family: Montserrat;
  font-weight: 400;
  font-style: Regular;
  font-size: 32px;
  line-height: 100%;
  letter-spacing: 2%;
  text-align: center;
}
.thankyou-content.success {
    background-image: url("/static/assets/static/confetti.3ebe3e1c82cb.png");
    background-size: cover;
    background-position: center;
    border-radius: 12px;
}
.check-img{
    width: 68px;       /* adjust size as needed */
    height: 68px;       /* keeps proportions */
    margin-bottom: 20px; /* space between image and title */
    display: block;
    margin-left: auto;
    margin-right: auto;
}


@media (max-width: 1100px) {
  .thankyou-box {
    width: 358px;
    height: 490px;
    padding: 1em;
    display: flex;
    align-items: center;   /* vertical center */
    justify-content: center; /* horizontal center */
  }

  .thankyou-content {
    width: 100%;
    height: 100%;
    padding: 1.2em;
    background-image: none !important; /* remove confetti */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; /* centers text vertically */
    position: relative; /* for close button */
  }

  .check-img {
    display: none !important;
  }

  .thankyou-confetti {
    display: none !important;
  }

  .thankyou-desc {
        display: flex;
        flex-direction: column;
        gap: 0;
        justify-content: space-around;
    }
    .thankyou-desc-failure{
        display: flex;
        flex-direction: column;
        gap : 0;
        justify-content: center;
    }
  .thankyou-title {
    font-family: Smart Sans Std;
    font-weight: 700;
    font-style: Bold;
    font-size: 52px;
    line-height: 100%;
    letter-spacing: 2%;
    text-align: center;
  }

  .thankyou-subtitle {
    font-size: 22px;
    margin-bottom: 16px;
    font-family: Smart Sans Std;
    font-weight: 700;
    font-style: Bold;
    font-size: 28px;
    line-height: 100%;
    letter-spacing: 2%;
    text-align: center;
    margin : 0;
  }

  .thankyou-message {
    font-size: 16px;
    line-height: 1.4;
    padding: 0 8px; /* small side padding */
    font-family: Montserrat;
    font-weight: 400;
    font-style: Regular;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 2%;
    text-align: center;
  }

  .thankyou-close {
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 22px;
    color: #000;
    z-index: 10000;
  }
}
/* --- Hero Slider Section --- */
.hero-home {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    margin : 0;
    background-color: #000;
    gap : 40px;
    margin-bottom : 72px;
    width : 100vw;
}

.hero-slider-container {
    /* aspect-ratio : 16 / 9; */
    position: relative;
    /* width: 100vw;
    max-width: 100vw; */
    width : 100%;
    max-width : 100vw;
    margin: 0 auto;
    overflow: hidden;
}

.hero-slider {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    height : 100%;
}

.hero-slider::-webkit-scrollbar {
    display: none;
}

.hero-slide {
    /* flex: 0 0 100vw; */
    /* width: 100vw; */
    flex : 0 0 100%;
    width : 100vw;
    height : 100%;
    display: flex;
    /* align-items: center;
    justify-content: center; */
    scroll-snap-align: start;
    /* max-height: 80vh; */
    overflow: hidden;
    background: #000; 
}

.hero-slide img,
.hero-slide video {
    width: 100vw;
    height: 100%;
    /* display: block; */
    /* object-fit: contain; */
}

/* --- DESKTOP STYLES (768px and wider) --- */
@media (min-width: 768px) {
    .hero-slide {
        height : 100% !important;
        width: 100vw;
        overflow: hidden;
    }
    
    .hero-slide img, .hero-slide video {
        max-width: 100vw;
        max-height: 100%;
        /* aspect-ratio: 16 / 9; */
        /* object-fit: contain; */
    }
    /* .hero-slide img,
    .hero-slide video {
        top : 0;
        left : 0;
        width : 100%;
        height : 100%;
        object-fit: contain;
    } */
}

/* --- MOBILE STYLES (Unchanged) --- */
@media (max-width: 767px) {

    .hero-home{
        gap : 1rem;
        margin-bottom : 1.5rem;
    }
    .hero-slider-container,
    .hero-slider,
    .hero-slide {
        height: 4100%!important;
        min-height: unset !important;
        max-height: unset !important;
        aspect-ratio: unset !important;
        background: #fff;
        padding: 0 !important;
        display: flex;
        align-items: stretch;
    }

    .hero-slide {
        flex-direction: column;
    }

    .hero-slide img,
    .hero-slide video {
        width: 100%;
        height: 100% !important;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain !important;
        background: #fff;
        display: block;
        margin: 0;
    }
}


/* --- NEW: Slider Arrow Buttons --- */
.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10; 
    background-color: transparent;
    border: none;
    color: white;
    font-size: 1rem; 
    font-weight: 100;
    cursor: pointer;
    padding: 0 2rem; 
    transition: opacity 0.2s;
}

.slider-arrow:hover {
    opacity: 0.7;
}

.slider-arrow.prev {
    left: 0;
}

.slider-arrow.next {
    right: 0;
}

 .slider-nav {
    display: flex;
    gap: 12px;
    align-items: center; 
    /* /* margin-top: 20px; */
    margin-bottom: 20px;  
} 

.slider-dot {
    cursor: pointer;
    background: none;
    padding: 0;
    border: none;
}

.dot-circle {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #fff;
}
.dot-circle.active {
    background-color: var(--clr-yellow);
    border-color: white;
}


.dot-triangle {
    color: #fff;
    font-size: 14px; 
    line-height: 1; 
}
.dot-triangle.active {
    color: #F26419;
}


/* --- Home Page Upcoming Events Section --- */
/* .home-events-section {
    color: #fff;
    text-align: center;
    padding-left : 5.56%;
} */

/* --- Home Page Upcoming Events Section --- */
.home-events-section {
    color: #fff;
    text-align: center;    
    /* ADD/MODIFY THESE PROPERTIES 👇 */
    max-width: 1440px;     /* Prevents the section from stretching past 1440px */
    margin-left: auto;     /* These two lines center the container on the page */
    margin-right: auto;  /* Add this to balance the left padding and keep content aligned */
    box-sizing: border-box; /* Ensures padding is calculated correctly with max-width */
}

.events-content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.events-carousel {
    position: relative;
    /* padding-left : 5.56%;
    padding-right : 5.56%; */
}

.events-container {
    display: flex;
    gap: 2rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-left : 5.56%;
    margin-right : 0.4rem;
    /* margin-top: -2rem; */
    /* padding-block : 2.5rem; */
}

.section-title {
    /* margin-bottom: 2.5rem; */
    margin : 0;
    font-family: var(--font-primary);
    font-size: 4rem;
    text-transform: uppercase;
    color: #fff;
    max-height : 68px;
}

@media(max-width : 768px){
    .section-title{
        font-size:2rem;
        max-height : 28px;
    }
    .events-content-wrapper {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .events-container {
        margin-left : 1rem;
        padding-left : 4.1%;
        gap : 1rem;
    }
}

.events-container::-webkit-scrollbar {
    display: none;
}

.event-card {
    flex: 0 0 70%;
    max-width: 846px;
    max-height : 520px;
  /* flex: 0 0 clamp(358px, 70%, 846px); 
  height: clamp(286px, 40vw, 520px);    */
  display: flex;
  flex-direction: row;
  background-color: #1a1a1a;
  border: 2px solid #fff;
  overflow: hidden;
  scroll-snap-align: start;
}

.card-left {
  flex: 0 0 50%;
  max-width: 100%;
  max-height : 100%;
  padding: clamp(0.5rem, 2vw, 1.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.card-left img,
.card-left picture {
  width: 100%;
  height: 100%;
  /* object-fit: contain; */
  max-height: 480px;
  display: block;
}

/* .card-right {
  flex: 1 1 50%;
  padding: clamp(0.5rem, 2vw, 1.5rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
  font-family: var(--font-secondary);
  min-width: 0;
} */
.card-right {
  padding: 1.25rem;
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;  /* let content flow naturally */
  align-items: flex-start;
  text-align: left;
  min-width: 0;
  font-family: var(--font-secondary);
    letter-spacing : 0.02em;
  line-height: 1;

  /* 🔹 Vertically center the block as a whole */
  margin: auto 0;
}

.card-right h3 {
    margin: 0 0 0.5rem 0;
    font-weight: bold;
    line-height: 1.3;
    font-family: var(--font-primary);
    font-family: Smart Sans Std;
    font-weight: 300;
    font-size: clamp(1.6rem, 3vw, 4rem);
    letter-spacing: 0.02em;

  /* text-transform: uppercase; */
}

.event-info-items{
    gap : 1rem;
}

.event-info {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.5rem;
  color: #ccc;
  font-size: clamp(0.5rem, 1.2vw, 1.125rem);
  line-height: 1.3;
  color : white;
}

.event-info img {
  width: 15px;
  height : 17px;
  margin-right: 0.5rem;
  flex-shrink: 0;
}

.event-description {
  font-size: clamp(0.5rem, 1.3vw, 1.125rem);
  line-height: 1.4;
  margin-bottom: 0.5rem;
  color: #fff;
  flex-grow: 1;
  font-family: var(--font-secondary);
  font-weight : 400;
}

.card-footer {
  padding-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 20px;
  /* margin-top: 1rem; */
}

.event-price {
  /* font-size: clamp(0.9rem, 2vw, 1.8rem); */
  font-size: clamp(1.6rem, 2vw, 1.8rem);
  font-family: var(--font-primary);
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}


.reserve-spot-btn,
.submit-button-desktop,
.submit-button-mobile {
  background-color: var(--clr-yellow);
  color: black;
  font-weight: 500;
  font-family: var(--font-primary);
  font-size: clamp(0.45rem, 2vw, 2rem);
  padding: 0.3em 0.8em;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}

/* keep desktop vs mobile button behavior */
.submit-button-mobile {
  display: none;
}

/* .end-of-carousel{
    flex : 0 0 auto;
    font-family : var(--font-secondary);
    font-size : 0.9rem;
    font-weight : 700;
    color : white;
    background-color : rgba(0, 0, 0, 0.7);
    display : flex;
    align-items : center;
    justify-content : center;
    padding : 1rem;
    white-space: nowrap;
} */


.load-more-btn {
    background-color: #000;
    color: #fff;
    border: none;
    padding: 1rem 2.5rem;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.3s ease;
    font-family: var(--font-primary, Arial, sans-serif);
    margin: 0 auto;
}

.load-more-btn:hover {
    background-color: var(--clr-yellow, #f5a623);
    color: #000;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.load-more-btn:active {
    transform: translateY(0);
}

.end-of-carousel.hidden {
    display: none;
}

/* Fade in animation for newly loaded events */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.event-card.fade-in {
    animation: fadeInUp 0.5s ease-out;
}


/* --- New "Explore All Events" Button --- */

.explore-events-container p {
    /* margin-bottom: 1rem; */
    margin : 0;
    padding-bottom : 20px;
    color: #ccc;
    font-family : var( --font-secondary);
    font-size : 1.5rem;
}

.explore-events-button{
    display: inline-block;
    background-color: #000;
    color: #fff;
    border: 1px solid #fff;
    padding: 0.8rem 2.5rem;
    font-weight: bold;
    text-decoration: none;
    font-size: 1.2rem;
    transition: background-color 0.2s, color 0.2s;
    /* margin-bottom : 1rem; */
}

.explore-events-button:hover{
    background-color: #fff;
    color: #000;
}   

@media (min-width: 1441px) {
    /* --- Ultra-Wide Screen Alignment Fix --- */

    /* First, we make the parent sections full-width again */
    .home-events-section {
        max-width: none;
        margin: 0;
        padding-left: 0; /* The padding will be handled by the carousel now */
    }
}
@media(min-width : 1599px){
    .event-card {
        flex: 0 0 80%;
        max-width: 1086px;
        max-height: 920px;
    }
    .card-left img,
    .card-left picture {
        max-height: 880px; /* raise cap to avoid stretching look */
    }
}

@media (max-width: 759px) {
  .submit-button-desktop { display: none; }
  .submit-button-mobile { display: inline-block; }
   .events-container { margin-left : 0; margin-top : 0.5rem;}
   .events-carousel {  padding-left : 4.1%; }
   .explore-events-container p {font-size: 1rem;}
   .explore-events-button { font-size: 1rem; padding: 2px 20px;  }

   .event-info img{
    width : 10px;
    height: 12px;
   }

   .slider-nav{margin-bottom : 0;}

   #shopper .submit{padding : 6.7px 11.17px; line-height : 1;}
}
/* Medium screens */
@media (max-width: 600px) {
    .events-carousel {  
        /* padding-left : 4.1%;  */
        padding-left : 1rem; 
    }
    .home-events-section{
        /* padding: 1.5rem 1rem; */
        /* padding-left : 1.5rem; */
        margin-bottom : 2.5rem;
    }
    
    /* .event-card { flex: 0 0 clamp(280px, 70%, 846px); height: clamp(260px, 38vw, 520px); } */
    .event-card{
        flex : 0 0 348px;
        height : 246px;
        max-width : 348px;
    }
    .card-left{
        flex : 0 0 50%;
        padding : 0.5rem;
    }

    .card-left img, .card-left picture{
        width : 100%;
        height : 100%;
        object-fit : contain;
        max-height : none;
    }

    .card-right {
        /* padding: 0.8rem;
        width: 45%; */
        padding: 0.6rem;
        width: 50%;
    }
    .card-footer{
        margin-top : 0;
        gap : 0.5rem;
    }

    .card-right h3 { 
        /* font-size: clamp(0.8rem, 3vw, 1.5rem);  */
        font-size: 0.9rem;
        font-weight: 300;
        /* font-size: 1.25rem;
        line-height: 1; */
        line-height : 1.1;
        letter-spacing: 0.02em;
        margin-bottom : 0.3rem;
    }
    /* .event-info, .event-description { font-size: clamp(0.45rem, 1.5vw, 0.9rem); }
    .card-footer .event-price { font-size: clamp(0.7rem, 2vw, 1.2rem); } */
    .event-info{
        font-size: 0.6rem;
        margin-bottom : 0.3rem;
    }
    .event-description{
        font-size : 0.6rem;
        line-height: 1.2;
        margin-bottom : 0.3rem;
    }
    .card-footer .event-price{
        font-size : 0.8rem;
        font-weight : 700;
    }
    .reserve-spot-btn, .submit-button-desktop, .submit-button-mobile{
        font-size: 0.6rem;
        padding : 0.3rem 0.6rem;
        line-height : 1.2;
        height : auto;
    }
}

/* Small screens 320px – 500px */
@media (max-width: 500px) {
    .events-carousel { padding-left : 4.1%; }
    /*.event-card { flex: 0 0 clamp(260px, 70%, 320px); height: clamp(240px, 35vw, 400px); } */
    .event-card{
        flex : 0 0 348px;
        height : 246px;
        max-width : 348px;
    }

    .card-left{
        flex : 0 0 50%;
        padding : 0.5rem;
    }

    .card-left img, .card-left picture{
        width : 100%;
        height : 100%;
        object-fit : cover;
        max-height : none;
    }

    .card-right {
        padding: 0.6rem;
        width: 50%;
    }
    .card-footer{
        margin-top : 0;
        gap : 0.5rem;
    }

    /* .card-right h3 { font-size: 1.2rem; line-height: 1.2; }
    .event-info, .event-description { font-size: clamp(0.4rem, 1.2vw, 0.85rem); }
    .card-footer .event-price { font-size: clamp(0.6rem, 2vw, 1rem); }
    .reserve-spot-btn,
    .submit-button-desktop,
    .submit-button-mobile { font-size: 0.7rem; padding: 0.15em 0.5em; }
    .card-footer {
        margin-top: 0 !important;
        margin-bottom: 0;
        padding-top: 0.25rem; 
    } */

    .card-right h3{
        font-size: 0.9rem;
        line-height : 1.1;
        margin-bottom : 0.3rem;
    }
    
    /* .event-description {
        margin-bottom: 0.25rem; 
    } */

    .event-info{
        font-size : 0.6rem;
        margin-bottom : 0.3rem;
    }

    .event-description{
        font-size : 0.6rem;
        line-height : 1.2;
        margin-bottom : 0.3rem;
    }

    .card-footer .event-price{
        font-size: 0.8rem;
        font-weight : 700;
    }
    .reserve-spot-btn, .submit-button-desktop, .submit-button-mobile{
        font-size: 0.6rem;
        padding : 0.3rem 0.6rem;
        line-height : 1.2;
        height : auto;
    }
}

/* Extra small phones 320px – 410px */
@media (max-width: 410px) {
    .events-carousel {
        padding-left : 4.1%;
    }

    .event-card {
        /* flex: 0 0 clamp(240px, 70%, 300px); 
        height: clamp(220px, 35vw, 360px);   */
        flex : 0 0 320px;
        height : 220pz;
        max-width : 320px;
    }

    .card-left{
        flex : 0 0 50%;
        padding : 0.4rem;
    }

    .card-left img, .card-left picture{
        width : 100%;
        height : 100%;
        object-fit : contain;
        max-height : none;
    }

    .card-footer{
        margin-top : 0;
    }

    .card-right {
        padding: 0.5rem;   /* reduce padding */
        width: 50%      /* shrink container to fit content */
    }

    .card-right h3 {
        font-size: 0.8rem;
        line-height: 1.1;
        margin-bottom : 0.2rem;
    }

    /* .event-info, .event-description {
        font-size: 0.4rem;
    } */

    .event-info{
        font-size : 0.5rem;
        margin-bottom: 0.2rem;
    }

    .event-description{
        font-size: 0.5rem;
        line-height : 1.2;
        margin-bottom : 0.2rem;
    }

    .card-footer .event-price {
        font-size: 0.7rem;
        font-weight : 700;
    }

    .reserve-spot-btn,
    .submit-button-desktop,
    .submit-button-mobile {
        font-size: 0.5rem;
        padding: 0.25rem 0.5rem;
        line-height : 1.2;
        height : auto;
    }
}
/* Phones 360px – 410px */
@media (min-width: 360px) and (max-width: 410px) {
    .events-carousel {
        padding-left : 4.1%;
    }

    .event-card {
        /* flex: 0 0 clamp(250px, 70%, 310px); 
        height: clamp(230px, 35vw, 380px);  */
        flex : 0 0 300px;
        height : 240px;
        max-width : 300px;
    }

    .card-left{
        flex : 0 0 50%;
        padding : 0.45rem;
    }

    .card-left img, .card-left picture{
        width : 100%;
        height : 100%;
        object-fit : cover;
        max-height : none;
    }

    .card-right {
        padding: 0.55rem;   
        width: 50%;        
    }

    .card-footer{
        margin-top: 0;
        gap : 0.45rem;
    }

    .card-right h3 {
        font-size : 0.85rem;
        line-height: 1.1;
        margin-bottom : 0.25rem;
    }

    /* .event-info, .event-description {
        font-size: 0.4rem;
    } */

    .event-info{
        font-size : 0.55rem;
        margin-bottom : 0.25rem;
    }

    .event-description{
        font-size: 0.55rem;
        line-height : 1.2;
        margin-bottom : 0.25rem;
    }

    .card-footer .event-price {
        /* font-size: clamp(0.7rem, 1.7vw, 1rem); */
        font-size : 0.75rem;
        font-weight: 700;
    }

    .reserve-spot-btn,
    .submit-button-desktop,
    .submit-button-mobile {
        font-size: 0.55rem;
        padding: 0.3rem 0.55rem;
        line-height : 1.2;
        height : auto;
    }

}




/* --- Brands in Spotlight Section --- */
@keyframes marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-20%); }
}

@-webkit-keyframes marquee {
    from { -webkit-transform: translateX(0); }
    to { -webkit-transform: translateX(-20%); }
}

.brands-spotlight-section {
    background-color: #000; 
    /* padding: 0 1.5rem 2rem 1.5rem;  */
    position : relative;
    /* padding : 72px 5.56% 80px 5.56%; */
    padding-inline : 5.56%;
    padding-block : 5rem;
}

/* MODIFIED: Further reduced top padding */
.spotlight-container {
    background-color: #fff;
    padding: 0.5rem 0 1.5rem 0; /* Was 1rem top, 2rem bottom */
    overflow: hidden;
    max-height : 540px;

}

.spotlight-container:hover .spotlight-carousel {
    animation-play-state: paused;
}

/* MODIFIED: Reduced margin to bring images closer */
.spotlight-container .section-title {
    color: #000;
    text-align: center;
    margin-bottom : 2rem;
    position: relative;
    z-index : 3;

}

.spotlight-carousel {
    display: flex;
    gap: 1rem;
    /* width: max-content; */
    width : 100%;
    height: 360px;
}

.marquee__group{
    display: flex;
    flex-direction: row;
    width: max-content;
    -webkit-animation: marquee 10s linear infinite;
    animation: marquee 10s linear infinite;
    gap : 0.5rem;
}

.marquee__group:hover{
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
}

.spotlight-card {
    flex: 0 0 250px; 
    border-radius: 12px;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    /* max-width: 440px;
    height: 360px; */
}

.spotlight-card img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    display: block;
    border-radius: 18px;
    height : 360px;
}

.brands-spotlight-section::before,
.brands-spotlight-section::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 20px; 
    z-index: 1; 
    pointer-events: none;
}

.brands-spotlight-section::before {
    left: 5.56%;
    background: linear-gradient(to right, #000, transparent);
}

.brands-spotlight-section::after {
    right: 5.56%;
    background: linear-gradient(to left, #000, transparent); 
}

@media (max-width: 768px) {
  .brands-spotlight-section {
     padding-inline : 4.1%;
     margin-block : 1.5rem;
     padding-block : 0;
  }
  .spotlight-container{
    padding-top: 20px;
    -webkit-overflow-scrolling: touch;
  }
  .spotlight-container .section-title {
     font-size: 2rem;
     margin-bottom: 28px;
  }
  .spotlight-carousel {
     gap: 0.7rem;
     height: 160px;
     overflow-x: visible;
     display: -webkit-box;
     display: -webkit-flex;
     display: flex;
  }
  .marquee__group{
    gap : 0.5rem;
    animation-duration: 16s;
    min-width: max-content;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .spotlight-card {
     -webkit-flex: 0 0 120px;
     flex: 0 0 120px;
     -webkit-flex-basis: 120px;
     flex-basis: 120px;
     border-radius: 8px;
     aspect-ratio: 1 / 1;
     min-width: 120px;
     max-width: 120px;
     display: -webkit-box;
     display: -webkit-flex;
     display: flex;
     -webkit-align-items: center;
     align-items: center;
     -webkit-justify-content: center;
     justify-content: center;
  }
  .spotlight-card img {
     border-radius: 8px;
     height : 160px;
     width: 100%;
     object-fit: cover;
  }
  .brands-spotlight-section::before {
     width: 0;
     left: 1rem;
     /* right: 1rem; */
  }
  .brands-spotlight-section::after{
        width: 0;
        right: 1rem;
        /* left: 1rem; */
  }
}

/* Additional iPhone-specific fixes */
@media (max-width: 480px) {
  .spotlight-card {
     -webkit-flex: 0 0 100px;
     flex: 0 0 100px;
     -webkit-flex-basis: 100px;
     flex-basis: 100px;
     min-width: 100px;
     max-width: 100px;
  }
  .spotlight-card img {
     height : 140px;
  }
  .spotlight-carousel {
     height: 140px;
  }
}


/* --- Categories Section --- */
.categories-section {
    background-color: #000;
    /* padding: 1rem 0.5rem; */
    overflow-x: clip;
    /* padding-left : 5.56%; */
    margin-bottom : 80px;
}

.categories-section .section-title {
    text-align: center;
    color: #fff;
    margin-bottom: 0!important;
}

.categories-carousel {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.5rem;
    overflow-x: auto;
    text-transform: uppercase;
    scrollbar-width: none;
    -ms-overflow-style: none;
    max-height: 600px;
    margin-top : 2rem;
    padding-left : 5.56%;
}
.categories-carousel::-webkit-scrollbar {
    display: none;
}

.category-card {
    text-decoration: none;
    color: #fff;
    display: block;
    position: relative;
    scroll-snap-align: start;
    flex-shrink: 0;
    width: 180px;
}

.category-card img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.category-name {
    font-weight: bold;
    font-family: var(--font-primary);
    text-align: center;
    padding: 0.75rem 0.25rem;
    font-size: 1rem;
}

.explore-categories-wrapper {
    text-align: center;
    /* margin-top: 2.5rem; */
     /* margin-top: 3rem; */
}

.explore-categories-button{
    display: inline-block;
    background-color: #000;
    color: #fff;
    border: 1px solid #fff;
    padding: 0.8rem 2.5rem;
    font-weight: bold;
    text-decoration: none;
    font-size: 1.7rem;
    transition: background-color 0.2s, color 0.2s;
    margin-top : -1rem;
}
.explore-categories-button:hover {
    background-color: #fff;
    color: #000; 
} 

/* --- Desktop Overrides (for screens 768px and wider) --- */
@media (min-width: 768px) {
    .category-card {  
        width: 280px;
    }

    .category-card:hover img {
        transform: scale(1.05);
    }

    .category-name {
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);

        display: flex;
        justify-content: center;
        align-items: center;
        padding: 1rem;
        margin: 0;
        font-size: 1.1rem;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .category-card:hover .category-name {
        opacity: 1;
    }
}

.category-tile-wrapper {
    display: flex;
    align-items: flex-end;
    margin-right: 2rem;
    height: 600px;
    width: 550px;
}
.category-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    /* width : 320px; */
    width: 328px;
    height: 600px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    margin-right : 1.563rem;
}

.category-tile__side {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 600px;
    background: none;
    /* margin-left: -10px; */
}
.category-tile__image {
    position: relative;
    width: 100%;
    flex: 1 1 auto;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
}
.category-tile__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}
.category-tile:hover .category-tile__image img {
    transform: scale(1.05);
}
.category-tile__parent {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: clamp(5rem, 5vw, 7rem);
    font-weight: 700;
    color: #7ed6fc;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
    line-height: 1;
    font-family: var(--font-primary);
    /* margin: 0; */
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: left;
    /* margin-right : 20px; */
}
.category-tile__bottom {
    position: static;
    width: 100%;
    /* background: rgba(0,0,0,0.7); */
    padding: 0.7rem 0;
    text-align: left;
    z-index: 2;
    /* border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px; */
    /* box-sizing: border-box; */
}
.category-tile__name {
    font-size: clamp(4rem, 6vw, 5rem);
    font-weight: 300;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2%;
    /* margin-left: 1.2rem; */
    cursor: pointer;
    background: none;
    padding: 0;
    border: none;
}

@media (max-width: 767px) {

    .categories-section{
        padding : 0 1rem;
        margin-bottom : 2.25rem;
    }

    .categories-carousel {
        flex-direction: row;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 0.6rem;
        align-items: stretch;
        padding-left: 2rem;
        
    }

    .category-tile-wrapper {
        flex: 0 0 300px; 
        display: flex !important;
        flex-direction: row;
        align-items: stretch;
        scroll-snap-align: start;
        margin-right: -9.8rem;
        height: 320px;
    }

    .category-tile {
        width: 50%; 
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        margin-right : 0.781rem;
    }

    .category-tile__side {
        width: 5.56%;
        height: 100%;
        /* margin-left: -10px; */
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        background: none;
    }

    .category-tile__parent {
        writing-mode: vertical-rl;
        font-size: 3.2rem;
        /* letter-spacing: 5px; */
        height: 100%;
        color: #7ed6fc;
        margin: 0;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: left;
        text-transform: uppercase;
    }

    .category-tile__bottom {
        position: static;
        width: 100%;
        /* padding: 0.7rem 0 0.7rem 1rem; */
        text-align: left;
        z-index: 2;
        box-sizing: border-box;
    
    }
    .category-tile__name {
        font-size: 40px;
        margin-left: 0;
    }

    .explore-categories-button {
        /* padding: 0.5rem 2rem; */
        padding : 2px 20px;
        font-size: 1.2rem;
    }
}

/* --- Store Locator Section (Revised) --- */

.store-locator-section {
    padding-inline : 5.56%;
    margin-left: auto;
    margin-right: auto;
}

.store-locator-section .section-title {
    text-align: center;
    color: #fff;
    /* margin-bottom: 2.5rem; */
    /* margin-top : -3rem; */
}

.stores-container {
    display: flex;
    flex-direction: row;   /* Lays out items horizontally */
    overflow-x: auto;      /* Enables horizontal scrolling */
    gap: 1.5rem;           /* Adjusts space between items */
    padding: 0 1.5rem 1.5rem 1.5rem; /* Adds padding for content */
    scrollbar-width: none; /* Hides scrollbar for Firefox */
    -ms-overflow-style: none; /* Hides scrollbar for IE/Edge */
}

/* Hides scrollbar for Chrome, Safari, etc. */
.stores-container::-webkit-scrollbar {
    display: none;
}

.store-item {
    max-width : 100%;
    max-height : 100%; /* Or your desired width */
    
}

.store-card {
    position: relative;
    /* width: 100%; */
    aspect-ratio: 4 / 3; 
    overflow: hidden;
    background: #222;
}

.store-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.store-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.city-overlay {
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;

    align-items: end;

    font-family: var(--font-primary);
    font-size: clamp(3rem, 8vw, 5rem);
    font-weight: bold;
    text-align: center;
    line-height: 1;

    color: transparent;
    -webkit-text-stroke: 2px white;
}

.store-address {
    padding-top: 1rem;
}

.store-address a{
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: #ccc;
    text-decoration: none;
    font-size: 1.5rem;
    font-family: var(--font-secondary);
    font-weight : 400;
    line-height: 1;
    letter-spacing: 0.02em;
    transition: color 0.2s;
}

.store-address a:hover {
    color: #fff;
}

.store-address img {
    width: 16px;
    flex-shrink: 0;
    margin-top: 4px;
}

.opening-soon-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* gap: 0.5rem; */
    font-family: var(--font-secondary);
    color: #fff;
    justify-content: center;
}

.opening-soon-text_top {
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    opacity: 0.8;
}

.opening-soon-text_bottom {
    font-family: var(--font-primary);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
}

@media (min-width: 768px) {
    .scroll-wrapper::before,
    .scroll-wrapper::after {
        width: 6.25rem; 
    }

    .stores-container {
        gap: 2.5rem; 
        padding : 0;
        margin-block : 2.5rem;
    }

    .stores-container:has(.store-item:nth-child(2):last-child) {
        justify-content: center;   
    }

    .stores-container:has(.store-item:nth-child(3)) {
        justify-content: flex-start;       
        overflow-x: auto;                  
        scroll-snap-type: x mandatory;     
        -webkit-overflow-scrolling: touch;
    }

    .store-item {
        /* flex-basis: calc(50% - 1rem);
        flex-shrink: 0; 
        max-width: 560px; */
        scroll-snap-align: start;
        width: 846px;
        /* height: 647px; */
        height : auto;
    }

    .store-address span{
        font-weight : 1.5rem;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0.02em;
    }
}

/* Mobile: Stack stores vertically, remove horizontal scroll */
@media (max-width: 767px) {

    .opening-soon-text_top{
        font-size : 1rem;
    }
    .opening-soon-text_bottom{
        font-size : 2rem;
    }
  .store-locator-section {
    padding-inline : 1rem;
    margin-bottom : 2.5rem;
  } 

  .stores-container {
    flex-direction: column;
    overflow-x: visible;
    overflow-y: visible;
    gap: 1.5rem;
    padding : 0;
    margin-block : 1rem;
    align-items : center;
  }
  .store-item {
    /* width: 358px; */
    /* height :352px; */ 
    width : 100%;
    height : auto;
  }

  /* .store-locator-section .section-title{
    margin-bottom : 0.75rem;
  } */

  .store-address a{
    font-size : 1rem !important;
  }

  .store-address span{
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.02em;
  }
}

/* Broadway CTA section */
.broadway-cta-section {
    padding-top : 5rem;
    padding-inline : 4.10%;
}
.broadway-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.broadway-logo {
    width: 100%;
    /* max-width: 1200px;
    max-height : 694px; */
    height: auto;
}
@keyframes fadeSlideUp {
    0% { opacity: 0; }
    90% { opacity: 0; }
    100% { opacity: 1; }
}
.cta-overlay-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: clamp(1rem, 3vw, 1.5rem);
    background: transparent;
    opacity: 0;
    transform: translateY(20%);
    animation: fadeSlideUp 2s ease-out forwards;
    animation-delay: 2s;
}

.cta-stats p {
    font-family: var(--font-primary);
    font-size: clamp(1rem, 3vw, 2rem);
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.6;
}
.stats-line-one span { margin: 0 0.5rem; }
.cta-stats .yellow { color: #fcb900; }
.cta-stats .blue { color: #00aaff; }
.cta-stats .purple { color: #b084f4; }

.list-btn {
    background: transparent;
    border: 1px solid white;
    padding: 0.8em 1.5em;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    font-weight: 700;
    font-family: var(--font-primary);
    text-transform: uppercase;
    color: white;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
}
.list-btn:hover { background: white; color: black; }

@media (min-width: 600px) {
    .logo-container { grid-template-columns: repeat(4, 1fr); }
    .logo-card { height: 80px; }
    .categories-bar a { font-size: 3.75rem; padding-inline : 0.75rem; }
    .categories-bar ul { gap: 0.3rem; }
}
@media (min-width: 900px) {
    .logo-container { grid-template-columns: repeat(4, 1fr); }
    .categories-bar ul { justify-content: center; }
}
@media (max-width: 767px) {
    .cta-stats p { margin: 0; line-height: 0.8; }
    .cta-overlay-content { padding-top: 20px; gap: 0.3rem; transform: translateY(20%); }
    .list-btn { padding: 0.3rem 0.4rem; margin-top: 0; font-size: 0.5rem; }
    .list-btn:hover { background: #fff; }
    .stats-line-one span, .stats-line-two span { font-size: 0.5rem; margin: 0; }
    .logo-card { height: 50px; width: 80%; }
    .broadway-cta-section { padding: 0;}
}

.no-brands {
    grid-column: 1 / -1;
    justify-self: center;
    align-self: center;
    font-size: 1.8rem;
    color: #888;
    width: 100%;
    text-align: center;
    min-height: 120px;
}

.broadway-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    animation: sequence-controller cubic-bezier(0.895, 0.03, 0.685, 0.22) infinite;
}

.broadway-logo {
    width: 100%;
    /* animation: smoothFadeIn 1s ease-in-out forwards; */
}

.cta-stats p {
    font-family: var(--font-primary);
    /* font-size: clamp(1.864rem, 3vw, 2.5rem); */
    font-weight: 300;
    text-transform: uppercase;
    margin: 0;
    line-height: 1;
    letter-spacing: normal;
    text-align: center;
}

.stats-line-one{
    display: flex;
    justify-content: space-between;
}

.stats-line-one span {
    margin: 0 0.5rem;
    font-size : clamp(1.491rem, 3vw, 2.2rem);
}

.stats-line-two span{
    font-size : clamp(2.1rem, 3vw, 2.5rem);
}

.cta-stats .yellow { color: #fcb900; }
.cta-stats .blue { color: #00aaff; }
.cta-stats .purple { color: #b084f4; }

.list-btn {
  /* margin-top: 1.5rem; */
  background: transparent;
  color: #fff;
  border: 1px solid #fff;
  padding: 0.8rem 1.8rem;
  font-size: 1rem;
  text-transform: uppercase;
  font-family: var(--font-primary);
  cursor: pointer;
  transition: all 0.2s;
}

.list-btn:hover {
  background: #fff;
  color: #000;
}
.categories-bar li a{
        font-size : 4rem;
    }

@media (max-width: 768px) {

    .categories-bar{
        padding-top : 40px ;
        padding-bottom : 20px;
    }

    .categories-bar li a{
        font-size : 2rem;
    }

    .category-header{
        min-height : 332px;
    }

    .category-header p{
        font-size : 0.8rem;
    }

    /* 2. Adjust overlay container for better spacing */
    .cta-overlay-content {
        gap: 0.3rem; /* Increase space between text and button */
        padding-top: 20px; /* Centering is handled by flexbox */
        transform: translateY(10); /* Adjust transform if needed */
    }

    /* 3. Set a single, readable font size for the stats */
    .cta-stats p {
        line-height: 0.8;
        letter-spacing : normal;
        margin: 0;
    }
    .stats-line-one span {
        font-size : clamp(1rem, 3vw, 1.491rem)
    }
    .stats-line-two span {
        font-size : clamp(1.3rem, 3vw, 1.864px);
    }

    /* 4. REMOVE the tiny font-size override on the spans */
    .stats-line-one span, 
    .stats-line-two span {
        margin: 0 0.25em; /* Use 'em' for spacing relative to font size */
        /* font-size: 0.5rem; <-- REMOVED THIS LINE */
    }

    /* 5. Make the button readable */
    .list-btn {
        font-size: 0.6rem;
        padding: 0.3rem 0.5rem;
        margin-top: 0;
    }

    .list-btn:hover {
        background: #fff;
    }
}

@media(max-width:499px){
    .broadway-logo{
        width : 100%;
        height : auto;
    }

    .cta-stats p {
        line-height: 1;
        letter-spacing : normal;
        margin: 0;
    }
    .stats-line-one span{
        font-size : 0.65rem;
    }
    .cta-stats .purple{
        font-size : 0.95rem;
    }
    .cta-overlay-content {
        transform: translateY(15%);
    }
    .list-btn {
        padding: 0.3rem 0.4rem;
        font-size: 0.5rem;
    }
}


/* --- Personal Shopper Section (Final Version) --- */

.personal-shopper-section {
     /* padding: 2rem 2rem !important; 
     margin-top : -5rem; */
     padding-inline : 5.56%;
}

.shopper-panel {
    background-color: #fff;
    color: #111;
    padding: 1.5rem;
    /* max-width: 1200px; */
    margin: 0 auto;
    border-radius: 0;
}

.personal-shopper-section .section-title {
    font-family: var(--font-primary);
    color: #000;
    line-height : 1.1!important;
    text-align: center;
    margin : 0;
    max-height : unset;

}

.shopper-title-desktop {
    display: none;
}

.shopper-title-mobile {
    display: block;
    text-align: center;
}

.shopper-content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/* .shopper-image-container {
    margin-bottom: 1rem;
} */

.shopper-image-container img {
    width: 100%;
    display: block;
    /* padding-top: 4rem; */
    max-height : 600px;
}

.shopper-caption {
    font-family: var(--font-secondary);
    font-size: 1rem;
    color: #000;
    text-align: center;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.02em;
}

.shopper-form {
    font-family: var(--font-secondary);
}

.shopper-form-title{
    position: relative;
    top: 0.1rem;   
    left : 0.3rem;
    font-weight: bold;
    color: #111;
    margin-left : -2px;
    font-family: var(--font-primary);
    font-size: 1.4rem;
}

.form-row {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
}

.form-row + .form-control {
    margin-top: 1.5rem;
}

.form-control {
    display: flex;
    flex-direction: column;
    flex: 1;
}
@media (max-width: 499px) {
  .form-row {
    flex-direction: column;
    gap: 1rem;
  }
  .form-control {
    width: 100%;
  }
}
/* .form-control label {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    color: #555;
} */

.form-control label {
    font-size: 0.9rem;
    padding-left : 0.2rem;
    margin-bottom: 0.5rem;
    color: #555;
}

.form-control input,
.form-control textarea,
.form-control select {
    background-color: transparent;
    border: none;
    border: 1px solid #111;
    color: #111;
    padding: 0.75rem 0.5rem;
    font-size: 1rem;
    font-family: var(--font-secondary);
    width: 100%;
    border-radius: 0;
}

.form-control textarea {
    min-height: 80px;
    resize: vertical;
}

.store-chooser {
    display: flex;
    gap: 1rem;
}

.store-chooser input[type="radio"] {
    display: none;
}

.store-chooser label {
    border: 1px solid #ccc;
    color: #555;
    padding: 0.75rem 1.5rem;
    cursor: pointer;
    transition: all 0.2s;
    border-radius: 0;
    flex: 1;
    text-align: center;
}

.store-chooser input[type="radio"]:checked + label {
    background-color: #111;
    color: #fff;
    border-color: #111;
}

.form-control select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-chevron-down' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
}

#shopper .submit{
    width : 100%;
    background-color: #fff;
    color: #111;
    border: 1px solid #111;
    padding: 0.8rem 2.5rem;
    font-family: var(--font-primary);
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.3rem;
    cursor: pointer;
    transition: all 0.2s;
    border-radius: 0;

}

#shopper .submit:hover {
    background-color: #111;
    color: #fff;
}

@media (max-width: 414px) {
  #shopper .submit{
    white-space: nowrap;
    width: 60%; 
    /* font-size: 1.1rem; 
    padding: 0.8rem 1.5rem; */
    font-size : 0.6rem;
    padding : 0.3rem 0.6rem;
    line-height : 1.1;
    height : auto;
  }
}

#shopper .form-control select {
    border: 1px solid #ccc;
    padding: 0.75rem;
    background-color: #fff;
    font-size: 1rem;
    font-family: var(--font-secondary);
    color: #111;
    border-radius: 0;
    cursor: pointer;
}

#shopper .shopper-form-column .form-group {
    border: 1px solid #000  !important;
    margin-bottom: 1rem; 
    border: none;        
    padding: 0.7rem;      
}

/* #shopper .form-group .submit-button {
    display: block;   
    width: 50%;          
    margin-left: auto;  
    margin-right: auto;
    text-align: center ;
    margin-top: 50px;
} */

@media (min-width: 1109px){
    .personal-shopper-section {
        box-sizing: border-box;
        margin-bottom : 2.5rem;
    }

    .shopper-panel {
        width: 100%; 
        display: flex;
        justify-content: center; 
        align-items: center;
    }

    .shopper-title-mobile {
        display: none;
    }
    
    .shopper-title-desktop {
        display: block;
        width: 100%; 
        max-width: 580px;
        height: auto; 
        margin-bottom: 10px;
    }

    .shopper-content-wrapper {
        flex-direction: row;
        align-items: flex-start;
        width: 100%;
        gap: 40px;
    }

    /* --- COLUMNS: These are now flexible and will shrink --- */
    .shopper-image-column,
    .shopper-form-column {
        flex: 1; 
        min-width: 0;
        padding-inline: 0.75rem;
        padding-block: 1.5rem;
    }
  
    .shopper-image-container {
        width: 100%; /* Image container fills its column */
        height: 447px;
    }

    .shopper-image-container img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .shopper-caption {
        text-align: center;
        width: 100%;
    }

    .shopper-form {
        height: 382px;
        overflow-y: auto;
        padding-right: 1.5rem;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .shopper-form::-webkit-scrollbar {
        display: none;
    }

    .form-control input,
    .form-control textarea,
    .form-control select {
        border: 1px solid #ccc;
        padding: 0.75rem;
    }
}

/* Mobile layout for 768px to 1108px to prevent breaking */
@media (min-width: 768px) and (max-width: 1108px) {
    .personal-shopper-section {
        padding-inline: 1rem;
        margin-bottom: 2.5rem;
    }

    .shopper-panel {
        padding: 1.5rem;
    }

    .shopper-title-mobile {
        display: block;
        text-align: center;
    }

    .shopper-title-desktop {
        display: none;
    }

    .shopper-content-wrapper {
        flex-direction: column;
        gap: 2rem;
    }

    .shopper-image-column,
    .shopper-form-column {
        width: 100%;
        padding: 0;
    }

    .shopper-image-container {
        width: 100%;
        height: auto;
    }

    .shopper-image-container img {
        width: 100%;
        height: 100%;
        /* max-height: 480px; */
        object-fit: cover;
    }

    .shopper-caption {
        text-align: center;
        margin-top: 1rem;
    }

    .shopper-form {
        height: auto;
        overflow-y: visible;
        padding-right: 0;
    }

    .form-control input,
    .form-control textarea,
    .form-control select {
        border: 1px solid #111;
        padding: 0.75rem 0.5rem;
    }
}

@media (min-width: 900px) {
    /* Reduce the large side padding for this screen size */
    .personal-shopper-section {
        padding-inline: 5.56%; 
    }

    .shopper-panel{
        padding-block : 2.5rem;
    }

    /* Reduce the gap between the image and form columns */
    .shopper-content-wrapper {
        gap: 2rem;
    }

    /* Make the desktop title font size smaller */
    .shopper-title-desktop {
        /* You can adjust this font size as needed */
        font-size: 2.5rem !important; 
    }

    /* Make the submit button shorter and its text smaller */
    #shopper .submit {
        font-size: 1.1rem;
        padding: 0.7rem 2rem; /* Reduced vertical padding */
    }
}

@media (min-width: 768px) and (min-height: 1024px) {
    .shopper-panel {
        height: 1.7%;
        overflow: hidden;
    }
    .shopper-form {
        max-height: 100%;
        overflow-y: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .shopper-form::-webkit-scrollbar { display: none; }
}

#shopper .shopper-form-column .form-group {
    border: 1px solid #000 !important;
    margin-bottom: 1rem; 
    border: none;      
    padding-left: 12px;      
}


#shopper .submit {
    display: block;    
    width: 35%;        
    margin-left: auto;
    margin-right: auto;
    text-align: center; 
    padding: 6.7px 11.17px;
}

@media (min-width: 768px) {
    .personal-shopper-section {
        padding-left: 5.56%;
        padding-right: 5.56%;
        padding-block : 5rem;
    }
    .shopper-content-wrapper {
        align-items: center;
    }
    .shopper-image-column {
        padding-right: 2.22%;
    }
    .shopper-form-column {
        padding-left: 2.0689%;
    }
}

@media(min-width : 1399px){
    .shopper-panel{
        height : 80vh;
    }
}

/* Desktop flower decoration */
@media (min-width: 1109px) {
    .shopper-panel {
        position: relative; 
    }
    
    .shopper-flower-decoration-desktop {
        position: absolute;
        width: 18.34%; /* 264.11px / 1440px * 100 */
        height: auto;
        aspect-ratio: 264.11 / 248.39;
        opacity: 0.8;
        top: 63%; /* 328.15px / 1024px * 100 */
        left: 85%; /* 993.48px / 1440px * 100 */
        transform: rotate(-4.66deg);
        z-index: 20;
        pointer-events: none;
        background-image: url("/static/assets/static/yellow.24f22e4d1296.png");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
    
    /* Ensure form content stays above flower */
    .shopper-form {
        position: relative;
        z-index: 1;
    }
}


/* Mobile flowers - keep responsive */
@media (max-width: 1108px) {
    .shopper-image-column {
        position: relative;
        overflow: hidden;
    }
    
    .shopper-form-column {
        position: relative;
        overflow: hidden;
    }
    
    .shopper-flower-bottom-left {
        position: absolute;
        width: 30vw;
        max-width: 150px;
        height: auto;
        aspect-ratio: 1 / 0.93;
        opacity: 0.8;
        bottom: 6%;
        left: -8%;
        transform: rotate(-178deg);
        z-index: 1;
        pointer-events: none;
        background-image: url("/static/assets/static/yellow.24f22e4d1296.png");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
    
    .shopper-flower-bottom-right {
        position: absolute;
        width: 30vw;
        max-width: 150px;
        height: auto;
        aspect-ratio: 1 / 0.93;
        opacity: 0.8;
        bottom: -2%;
        right: -10%;
        transform: rotate(-160deg);
        z-index: 1;
        pointer-events: none;
        background-image: url("/static/assets/static/blue.351bfb4e703e.png");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
}

@media(max-width : 768px){
    .personal-shopper-section{
        padding-inline : 4.1% !important;
        padding-bottom : 2.5rem;
    }
}

/* --- SUCCESS MESSAGE STYLES --- */
.shopper-success-message {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
text-align: center;
border: none;
height: 100%;
box-sizing: border-box;
position: relative;
background-size: cover;
background-position: top center; 
background-repeat: no-repeat;
}

.success-container {
    position: relative;       /* parent is relative */
    display: inline-block;    /* shrink-wrap to image size */
}


.success-checkmark {
width: 60px;
height: 60px;
display: block;
margin: 2rem auto 1rem auto; /* auto left+right centers it */
}
.success-confetti {
    display: block;
    width: 100%;         
    height: 500px;
}

.success-overlay {
    position: absolute;       
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;            
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #333;
    z-index: 2;             
}

.shopper-success-message h2 {
font-family: var(--font-primary);
font-size: 2.5rem;
font-weight: 700;
margin-top: 0;
margin-bottom: 0.5rem; 
text-transform: uppercase;
}

.shopper-success-message p {
font-family: var(--font-secondary);
color: #555;
max-width: 320px;
line-height: 1.6;
margin: 0 auto;        /* center block horizontally */
text-align: center;    /* center text inside */
}

.hidden {
    display: none !important;
}

/* BROADWAY CREW SECTION */
.broadway-crew {
  position: relative;
  width: 100%;
  height: 50vh; 
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  max-height : 479px;
}

.crew-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7); 
  z-index: 1;
}

.crew-content {
  position: relative;
  z-index: 2; 
  text-align: center;
  color: #fff;
  font-family: var(--font-primary);
  padding: 0 1rem;
  max-width: 900px;
}

.crew-content h1 {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.3;
  margin : 0;
}

.crew-content .highlight {
  color: var(--clr-pink);
}


.crew-btn {
  /* margin-top: 0.5rem; */
  background: transparent;
  color: #fff;
  border: 1px solid #fff;
  padding: 0.5rem 3rem;
  font-size: 2rem;
  line-height : 40px;
  letter-spacing : 0.012em;
  text-transform: uppercase;
  font-family: var(--font-primary);
  cursor: pointer;
  transition: all 0.2s;
  max-height : 80px;

}

.crew-btn:hover {
  background: #fff;
  color: #000;
}

@media(max-width : 768px){
    .broadway-crew{
        max-height : 220px;
        margin-bottom : 2.5rem;
    }

    .crew-content h1 {
        font-size : 1.8rem;
    }

    .crew-btn{
        font-size : 1rem;
        padding : 0.3rem 1.5rem;
        line-height : 1.5;
        height : 40px;
    }

    .crew-btn span{
        vertical-align: sub;
    }
}

/* =================================================== */
/* --- Instagram Section Styles (2 Rows, 4 Columns) --- */
/* =================================================== */
.instagram-section {
    position: relative;
    padding: 4rem 2rem;
    text-align: center;
    background-size: cover;
    background-position: center;
    color: #fff;
    /* margin-top: -2rem; */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem; 
    margin-bottom : 5rem;
}

.instagram-section .section-overlay {
    position: absolute;
    inset: 0; 
    /*top:0, right:0, bottom:9, left:0 */
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 1;
}

.instagram-section .section-title {
    font-size : 4.5rem;
    letter-spacing: 0.02em !important;
    line-height : 95px;
    margin-bottom : 2.5rem;
}

.instagram-section .section-title,
.instagram-section .insta-grid-wrapper, 
.instagram-section .insta-caption {
    position: relative;
    z-index: 2;
}

/* --- Scrollable Grid Wrapper --- */
.insta-grid-wrapper {
    max-height : 75vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right : 1rem;
    width: 90vw;
    margin-inline : 5.56%;
    margin-block : 1rem;
    -webkit-overflow-scrolling: touch;
}

.insta-grid {
    column-count: 4;
    column-gap: 1rem;
}

.insta-post {
    break-inside: avoid; 
    margin-bottom: 1rem; 
    width: 100%;
    display: block; 
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease;
} 

 .insta-post img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
} *

.insta-post:nth-child(8n+1),
.insta-post:nth-child(8n+4),
.insta-post:nth-child(8n+5),
.insta-post:nth-child(8n+8) {
    aspect-ratio: 9 / 13; 
}

.insta-post:nth-child(8n+2),
.insta-post:nth-child(8n+3),
.insta-post:nth-child(8n+6),
.insta-post:nth-child(8n+7) {
    aspect-ratio: 9 / 7; 
} 

/* .insta-grid {
    position: relative;
    width: 100%;
}

.insta-post {
    position: absolute;
    width: calc(20% - 0.8rem); 
    display: block;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.insta-post img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.insta-post:nth-child(odd) {
    height: 350px;
}

.insta-post:nth-child(even) {
    height: 200px;
}

@media (max-width: 768px) {
    .insta-post {
        width: calc(20% - 0.2rem); 
    }
    
    .insta-post:nth-child(odd) {
        height: 140px;
    }

    .insta-post:nth-child(even) {
        height: 80px;
    }
}  */

/* --- Icon Overlay and Caption --- */

.insta-post:hover {
    transform: scale(1.03);
}

.insta-post::after {
    content: '▶';
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.4);
    color: #fff;
    font-size: 2rem;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.insta-post:hover::after {
    opacity: 1;
}

.insta-caption {
    font-family: var(--font-secondary);
    color: rgba(255, 255, 255, 0.8);
    z-index: 2;
    font-size : 1.6rem;
    margin : 0;
}

/* Optional Scrollbar styles */
.insta-grid-wrapper::-webkit-scrollbar {
    width: 3px;
}
.insta-grid-wrapper::-webkit-scrollbar-track {
    background: white;
    /* padding : 2rem 0; */
    scrollbar-width: thin;
}
.insta-grid-wrapper::-webkit-scrollbar-thumb {
    background-color: var(--clr-pink);
}

/* --- Responsive Styles for Mobile --- */
@media(max-width : 950px){
    .insta-caption{
        font-size : 1.3rem !important;
    }
}
@media (max-width: 768px) {
    .instagram-section {
        padding: 3rem 1rem;
        gap: 0.5rem; 
        margin-bottom : 1.5rem;
    }

    .insta-grid-wrapper {
        max-height: 45vh;
        margin-block : 0;
    }

     .insta-grid {
        column-count: 4;
        column-gap: 0.25rem;
    }

    .insta-post {
        margin-bottom: 0.25rem;
    } 

    .instagram-section .section-title {
        font-size : 52px;
        line-height : 40px;
        margin-bottom : 1.25rem !important;
    }

    .insta-caption {
        font-size : 0.8rem !important;
    }
    
    
}

/* --- NEW: Styles for very small screens --- */
@media (max-width: 499px) {
    .insta-grid-wrapper {
        height: auto;
        max-height: 20vh;
        margin-block : 0;
    }

    .instagram-section {
        /* Optionally, tighten the main gap even more */
        gap: 1rem;
        margin-bottom : 1.85rem;
    }

    .instagram-section .section-title {
        font-size : 32px;
        line-height : 40px;
        margin-bottom : 0.5rem !important;
    }
    .insta-caption {
        font-size : 0.8rem !important;
    }
}

@media (min-width: 769px) and (max-width: 1440px) {
        .instagram-section {
        padding-inline : 5.56%;
    }
}


@media (min-width: 1440px) and (min-height: 1024px) {
    .instagram-section {
        padding-inline : 5.56%;
    }
}

/* Instagram mobile target (approx 390x480) */
@media (max-width: 390px) and (max-height: 480px) {
    .instagram-section { padding-left: 1rem; padding-right: 1rem; }
    .insta-grid-wrapper {
        width: 358px;
        max-width: 100%;
        height: 155px;
        max-height: 155px;
        margin-left: auto;
        margin-right: auto;
    }
}


/* --- Home Page Blogs Section (New Design) --- */

@media (min-width: 1441px) {
    .home-blogs-section {
        max-width: none!important;
        margin-bottom : 5rem;
        padding-left: 0 !important;
    }
}
.home-blogs-section {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    /* padding: 3rem 1.5rem;
    margin-top : -3rem; */
    overflow-y: hidden;
    margin-bottom : 5rem;
}

.home-blogs-section .section-title {
    text-align: center;
    color: #fff;
    /* margin-bottom: 2rem; */
    /* margin-top : -2rem; */
    font-family: var(--font-primary);
}

/* .highlight-yellow {
    color: var(--clr-yellow);
} */
/* 


.custom-scrollbar{
    display : flex;
    width : 10px;
    height : 2px;
    flex-direction : row;
    margin-top : -10px;
    -webkit-overflow-scrolling: touch;
} */


/* .blogs-carousel::-webkit-scrollbar {
    height : 2px;
}

.blogs-carousel::-webkit-scrollbar-track {
    background: #fff;
    scrollbar-width: thin;
}

.blogs-carousel::-webkit-scrollbar-thumb {
    background: var(--clr-yellow); 
    border-radius: 3px;
} */

/* Wrapper to control scrollbar positioning */
.home-blogs-section {
    position: relative;
}


.blogs-carousel {
    display: flex;
    overflow-x: scroll;
    overflow-y: hidden;
    gap: 2rem;
    padding-bottom: 1rem;
    margin-top: 2.25rem;
    margin-left: 5.56%;
    position: relative;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

/* Hide default scrollbar */
.blogs-carousel::-webkit-scrollbar {
    display: none;
}

.blogs-carousel {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

/* Custom scrollbar container */
.custom-scrollbar {
    width: 88.88%; 
    height: 4px;
    background: white;
    border-radius: 10px;
    margin-inline :auto ;
    margin-top : 2.5rem;
    position: relative;
    overflow: hidden;
    opacity: 1;
    transition: opacity 0.3s ease;
    /* transform: translateY(-0.8rem); */
}

.custom-scrollbar[style*="display: none"] {
    opacity: 0;
}

/* Custom scrollbar thumb */
.custom-scrollbar::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 82%; 
    background: var(--clr-yellow) ;
    border-radius: 10px;
    transition: background 0.3s ease;
}

.custom-scrollbar:hover::before {
    background:var(--clr-yellow) white ;
}


/* Optional: Add padding to prevent content from touching edges */
.blogs-carousel::after {
    content: '';
    padding-right: 5.56%;
}

.blog-card {
    flex: 0 0 30%; 
    text-decoration: none;
    color: #fff;
    display: flex;
    flex-direction: column;
    transition: border-color 0.3s ease;
    gap : 0.3rem;
}

.blog-card-image {
    border: 1px solid #fff;
    transition: border-color 0.3s ease;
}

.blog-card-image img {
    flex: 0 0 28%;
    max-width: 100%;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.blog-card-content {
    padding: 1rem;
    border: 1px solid #fff;
    background-color: #1a1a1a;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    transition: border-color 0.3s ease;
}

.blog-date {
    font-family: var(--font-secondary);
    font-size: 0.8rem;
    color: #aaa;
    margin: 0 0 0.5rem 0;
}

.blog-title {
    font-family: var(--font-secondary);
    font-size: 1rem;
    line-height: 1.4;
    font-weight: normal;
    margin: 0 0 1rem 0;
    text-transform: uppercase;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    line-clamp: 2;
    letter-spacing: 0.04em;
}


.blog-read-story {
    font-family: var(--font-secondary);
    font-size: 0.8rem;
    font-weight: bold;
    color: #ccc;
    margin-top: auto;
    text-decoration: underline; 
}

.explore-blogs-wrapper {
    text-align: center;
}

.explore-blogs-button{
    display: inline-block;
    background-color: #000;
    color: #fff;
    border: 1px solid #fff;
    padding: 0.6rem 1.5rem;
    text-decoration: none;
    letter-spacing: 0.02em;
    line-height: 40px;
    font-size: 2rem;
    text-align : center;
    transition: background-color 0.2s, color 0.2s;
    margin-top : 2.25rem;
    max-height : 80px;
}
.explore-blogs-button:hover {
    background-color: #fff;
    color: #000; 
}


@media(min-width :1441px){
    blogs-carousel {
        padding-left: calc((100vw - 1200px) / 2);
        margin-left : 0;
    }

}

@media(max-width : 1239px) and (min-width  :770px){
    .blogs-carousel {
        margin-left : 3.5rem;
    }
}

@media (max-width: 768px) {
    .home-blogs-section {
        margin-bottom: 2.5rem;
    }

    .blogs-carousel {
        padding-left : 4.1%;
        margin-top: 1.25rem;
        margin-inline: 0;
        gap: 1rem;
        overflow-y: hidden;
    }

    /* Make cards taller and narrower like Image 1 */
    .blog-card {
        flex: 0 0 45%;
        max-width: 160px;
        min-width: 140px;
    }

    /* Make image taller - portrait orientation */
    .blog-card-image img {
        aspect-ratio: 1 / 1;
    }

    /* Reduce content section padding */
    .blog-card-content {
        padding: 0.75rem 0.5rem;
        min-height: 120px;
    }

    .blog-date {
        font-size: 0.5rem;
        margin: 0 0 0.25rem 0;
    }

    .blog-title {
        font-size: 0.65rem;
        line-height: 1.3;
        margin: 0 0 0.5rem 0;
        -webkit-line-clamp: 3; /* Allow 3 lines */
        line-clamp : 3;
    }

    .blog-read-story {
        font-size: 0.5rem;
    }

    .explore-blogs-button {
        font-size: 0.75rem; /* Smaller text */
        font-weight: 700;
        padding: 0.5rem 1.25rem;
        line-height: 1.2;
        height: auto;
        margin-top: 1.25rem;
        border: 2px solid #fff; /* Thicker border */
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }
    /* Hide scrollbar on mobile */
    .custom-scrollbar {
        margin-top : 0;
    }
}
    
/* FAQ Section */

.faq-section {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 3rem 0 2rem;
    background-color: #000;
    margin-bottom : 5rem;
}

.faq-content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.faq-intro-column {
    text-align: center;
}

.faq-section .section-title {
    font-family: var(--font-primary);
    color: #fff;
    /* margin-bottom: 1rem; */
    margin-bottom : 0 !important;
    line-height : normal;
}

.faq-description {
    font-family: var(--font-secondary);
    color: #ccc;
    line-height: 1.4;
    /* max-width: 30ch; */
    width : 100%;
    margin: 0 auto;
    text-align: center;
}

/* --- Accordion Styling --- */
.faq-accordion-column {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    font-family: var(--font-secondary);
}

/* faq-item is now just a positioning wrapper */
.faq-item {
    position: relative;
}

/* The question is ALWAYS a pill */
.faq-question {
    background-color: #fff;
    color: hsl(0, 0%, 0%);
    border: 2px solid transparent;
    border-radius: 20px;
    padding: 0.7rem 1.2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-family: var(--font-secondary);
    transition: all 0.4s ease;
    position: relative;
    z-index: 2; /* Sits on top of the answer */
}

/* The answer box, hidden by default */
.faq-answer {
    color: #ccc;
    border: 2px solid var(--clr-yellow);
    border-radius: 20px;
    line-height: 1.6;
    font-family: var(--font-secondary);
    position: relative;
    z-index: 1; /* Sits behind the question */
    margin-top: -39px; /* Pulls it up behind the question pill */
    padding: 2.5rem 1.5rem 1.5rem 1.5rem; /* More top padding for text */
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out, opacity 0.4s ease-out;
}

/* --- Icon Sizing and Styling --- */
.faq-icon-wrapper {
    position: relative;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-left: 1rem;
}
.faq-icon-plus, .faq-icon-close {
    position: absolute;
    inset: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.faq-icon-plus {
    background-color: #111;
    border-radius: 50%;
}
.faq-icon-plus::before,
.faq-icon-plus::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #fff;
    transform: translate(-50%, -50%);
}
.faq-icon-plus::before { width: 2px; height: 8px; }
.faq-icon-plus::after { width:8px; height: 2px; }

.faq-icon-close {
    background-color: var(--clr-yellow);
    border-radius: 50%;
    opacity: 0;
    transform: rotate(-90deg);
}
.faq-icon-close::before,
.faq-icon-close::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #111;
    transform: translate(-50%, -50%) rotate(45deg);
}
.faq-icon-close::before { width: 2px; height: 8px; }
.faq-icon-close::after { width: 8px; height: 2px; }


/* --- Active State (when an item is clicked) --- */
.faq-item.active {
    margin-bottom: 0.5rem; 
}
.faq-item.active .faq-question {
    border-color: var(--clr-yellow);
}
.faq-item.active .faq-answer {
    max-height: 100vh;
    opacity: 1;
}
.faq-item.active .faq-icon-plus {
    opacity: 0;
    transform: rotate(90deg);
}
.faq-item.active .faq-icon-close {
    opacity: 1;
    transform: rotate(0deg);
}

.faq-question-text{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    max-width: 100%;
}

.faq-item.active .faq-question-text{
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}


/* --- Desktop Overrides --- */
@media (min-width: 992px) {
    .faq-content-wrapper {
        flex-direction: row;
        gap: 4rem;
        align-items: flex-start;
    }
    .faq-intro-column {
        flex: 1;
        text-align: left;
        max-width : 420px;
        align-self : center;
        line-height : normal;
    }
    .faq-intro-column .section-title {
        text-align: left;
        margin: 0 2rem;
        font-size: 3.8rem;
    }
    .faq-description {
        /* margin: 0 2rem; */
        margin: -0.5rem 2rem;
        text-align: left;
    
    }
    .faq-accordion-column {
        flex: 1.2;
        /* max-height: 350px; */
        max-height: 40vh;
        overflow-y: auto;
        padding-right: 1rem;
        scrollbar-width: none;
        -ms-overflow-style: none; 
    }
    .faq-accordion-column::-webkit-scrollbar {
        display: none;
    }
    /* .faq-section{
        margin-bottom: 5rem;
    } */
}



/* RESERVE YOUR SPOT */

/* Reserve Spot Modal Slot Selection */
.modal-slot-option {
    display: inline-block;
    padding: 8px 16px;
    margin: 4px 8px 4px 0;
    border: 2px solid #ccc;
    background: #f9f9f9;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}
.modal-slot-option:hover {
    border-color: #007bff;
    background: #eef6ff;
}
.modal-slot-option.selected {
    border-color: #007bff;
    background: #dbeafe;
    font-weight: 600;
}


#shopper .submit a,  .explore-categories-wrapper span, .card-footer span, .explore-events-container span, .list-btn span, .crew-btn span, .explore-blogs-button span{
    vertical-align: sub;
}

@media(max-width : 768px){

    .faq-section{
        margin-block: 2.5rem;
    }
    .faq-description{
        margin-top : 0.75rem;
        text-align: justify;
    }

    .faq-question-text, .faq-answer p{
        font-size : 0.727rem;
    }
    
    .faq-accordion-column {
        max-height: 12.125rem; 
        overflow-y: auto;
        scrollbar-width: none; 
        -ms-overflow-style: none;
        gap: 0;
    }

    .faq-accordion-column::-webkit-scrollbar {
        display: none; 
    }
    
    /* Reduce active item margin on mobile */
    .faq-item.active {
        margin-bottom: 0.2rem;
    }
}

.explore-events-button,
.explore-categories-button,
.list-btn{
    font-size: 2rem;
    line-height: 40px;
    text-align: center;
}

/* Mobile buttons - Standard size */
@media (max-width: 768px) {

    .explore-events-button,
    .explore-categories-button,
    .list-btn {
        font-size: 1rem;
        letter-spacing: 0.02em;
        text-align: center;
    }
}
