@import url('mainstyle.css');

[data-item="dark"]{
  display: none;
 }

 [data-newyeareve-theme="dark"] [data-item="dark"]{
  display: block;
 }
[data-newyeareve-theme="dark"] [data-item="light"]{
  display: none;
 }
 /* Global styles */
 * {
   box-sizing: border-box
 }

 a{
  color: inherit;
  text-decoration: none;
 }
 a:hover{
  color: inherit;
  text-decoration: none;
 }
 html,
 body {
   height: 100%;
 }

 body {
   background: var(--body-bg);
   color: var(--para-text);
   font-family: var(--second-font);
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
  padding-top: var(--navbar-height);
 }

 h1,
 h2,
 h3,
 h4,
 h4,
 h5 {
   color: var(--head-text);
   font-family: var(--prime-font);
 }
.banner-bg{
  background: var(--banner-bg);
}
 .navbar {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   z-index: 1050;
   background: var(--head-bg);
   border-bottom: 1px solid var(--light-border);
   backdrop-filter: blur(12px);
   transition: background-color .3s ease, border-color .3s ease;
 }

 .navbar .navbar-brand {
   color: var(--nav-text)
 }

 .navbar .nav-link {
   color: var(--nav-text)
 }

 .navbar .btn {
   border-radius: 999px
 }

 .navbar .nav-link.active,
 .navbar .nav-link:focus,
 .navbar .nav-link:hover {
   color: var(--prime-text);
 }

 [data-newyeareve-theme="dark"] .navbar .nav-link.active,
 [data-newyeareve-theme="dark"] .navbar .nav-link:focus,
 [data-newyeareve-theme="dark"] .navbar .nav-link:hover {
   color: #53a7ff;
 }

.hero-section {
  padding: 5rem 0;
  /* background:var(--banner-bg); */
  background: linear-gradient(0deg, rgba(27, 27, 27, 0.3), rgba(0, 0, 0, 0.3)), url('../../assets/images/party-img2.jpg')no-repeat;
  background-size: cover;
  min-height: 650px;
  color: var(--white-text);
}

 .hero-section .lead {
   opacity: .95
 }

 .hero-img {
   max-width: 420px
 }

 .bg-alt {
   background: var(--body-alt-bg)
 }

 .card {
   background: var(--card-bg);
   border: 1px solid rgba(0, 0, 0, 0.04)
 }

 .bg-dark-section {
   background: var(--dark-bg)
 }

.footer-section {
  background: var(--footer-bg);
  color: var(--footer-text) !important;
}

.footer-section a {
  color: var(--footer-text);
  transition: color .2s ease, border-color .2s ease;
}

.footer-section a:hover,
.footer-section a:focus {
  color: var(--prime-text);
}

[data-newyeareve-theme="dark"] .footer-section a:hover,
[data-newyeareve-theme="dark"] .footer-section a:focus {
  color: #53a7ff;
}

.footer-brand {
  font-family: var(--prime-font);
  font-size: 1.5rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.footer-brand .brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--prime-bg);
  color: var(--prime-btn-text);
  font-weight: 700;
}

.footer-brand .brand-text {
  font-family: var(--second-font);
  font-size: 1rem;
  letter-spacing: 0;
  text-transform: none;
}

.footer-copy {
  color: var(--footer-copy-text);
}

.footer-title {
  font-size: .95rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--white-text);
  margin-bottom: 1rem;
}

.footer-links li+li {
  margin-top: .5rem;
}

.footer-links a {
  text-decoration: none;
  color: var(--footer-text);
  font-size: .95rem;
  transition: color .2s ease;
}

.footer-links a:hover,
.footer-links a:focus {
  color: var(--prime-text);
}

.footer-social a {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.12);
  color: var(--white-text);
  font-size: 1rem;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.footer-social a:hover,
.footer-social a:focus {
  background: var(--prime-bg);
  color: var(--prime-btn-text);
  transform: translateY(-2px);
}

[data-newyeareve-theme="dark"] .footer-social a {
  background: rgba(255, 255, 255, 0.1);
  color: #f5f7fb;
}

.footer-divider {
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}

.footer-meta {
  color: var(--footer-copy-text);
  font-size: .85rem;
}

.footer-meta a {
  font-size: .85rem;
  text-decoration: none;
  color: inherit;
}

.footer-meta a:hover,
.footer-meta a:focus {
  color: var(--prime-text);
}

.footer-contact a {
  color: var(--footer-text);
  font-size: .95rem;
  text-decoration: none;
  transition: color .2s ease;
}

.footer-contact a:hover,
.footer-contact a:focus {
  color: var(--prime-text);
}

.footer-contact i {
  color: var(--prime-text);
} 

[data-newyeareve-theme="light"] .footer-divider {
  background: rgba(0, 0, 0, 0.12);
} 

[data-newyeareve-theme="light"] .footer-meta a:hover,
[data-newyeareve-theme="light"] .footer-meta a:focus {
  color: var(--prime-text);
}

@media(max-width:576px) {
  .footer-brand {
    font-size: 1.25rem;
  }

  .footer-social a {
    width: 38px;
    height: 38px;
  }
}

 /* Inputs & forms */
 input,
 textarea,
 .form-control {
   background: var(--input-bg);
   color: var(--input-text);
   border: 1px solid var(--light-border)
 }

 input:focus,
 textarea:focus,
 .form-control:focus {
   background: var(--input-bg) !important;
   color: var(--input-text);
   border-color: var(--light-border);
   box-shadow: none !important;
   outline: none;
 }

 .btn-primary {
   background: var(--prime-btn);
   border: 0;
   color: var(--prime-btn-text)
 }

.btn-outline-light {
   color: var(--white-text);
   border: 1px solid rgba(255, 255, 255, 0.12)
 }

 .countdown {
   font-weight: 700;
   background: rgba(0, 0, 0, 0.15);
   padding: .6rem 1rem;
   border-radius: .5rem;
   display: inline-block
 }

 /* small helpers */
 .object-fit-cover {
   object-fit: cover;
   width: 100%;
   height: 100%
 }

 @media(max-width:768px) {
   .hero-section {
     padding: 3rem 0
   }

   .hero-img {
     max-width: 320px
   }
 }

 /* Smooth scroll */
 html {
   scroll-behavior: smooth
 }

 /* Utility for subtle card shadow adaptation in dark */
 .card {
   box-shadow: 0 6px 18px rgba(12, 15, 20, 0.06)
 }



 /* Optional: small accessible focus styles */
 :focus {
   outline: 3px solid rgba(255, 107, 53, 0.18);
   outline-offset: 2px
 }

 /* Timeline */
 .timeline {
   position: relative;
   padding-left: 1.75rem
 }

 .timeline:before {
   content: "";
   position: absolute;
   left: .7rem;
   top: .25rem;
   bottom: .25rem;
   width: 2px;
   background: var(--light-border)
 }

 .timeline-item {
   position: relative;
   margin: 1rem 0 1.25rem 0;
   padding-left: 10px;
 }

 .timeline-item:before {
   content: "";
   position: absolute;
   left: -22px;
   top: .35rem;
   width: .8rem;
   height: .8rem;
   border-radius: 50%;
   background: var(--prime-text);
   box-shadow: 0 0 0 4px rgba(255, 107, 53, 0.12)
 }

 .timeline-time {
   font-weight: 700;
   color: var(--prime-text);
   margin-bottom: .25rem
 }

 .timeline-card {
   border-left: 3px solid var(--prime-border)
 }

.schedule-visual{
  background:linear-gradient(160deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.6) 100%), url('../../assets/images/party.jpg') center/cover no-repeat;
  min-height:420px;
  box-shadow:0 10px 26px rgba(12, 15, 20, 0.18);
}
[data-newyeareve-theme="dark"] .schedule-visual{
  box-shadow:0 12px 28px rgba(2, 8, 20, 0.45);
}

 /* Pricing backgrounds & overlay */
 .pricing {
   position: relative;
   overflow: hidden;
   background-color: var(--card-bg);
   background-position: center;
   background-size: cover;
   color: var(--white-text)
 }

 /* .pricing::before {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(200deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.55) 65%, rgba(0, 0, 0, 0.75) 100%);
   z-index: 0
 } */

 /* Make overlay a bit stronger on light theme for contrast over bright photos */
 [data-newyeareve-theme="light"] .pricing::before {
   background: linear-gradient(200deg, rgba(0, 0, 0, 0.38) 0%, rgba(0, 0, 0, 0.62) 60%, rgba(0, 0, 0, 0.86) 100%)
 }

 .pricing>* {
   position: relative;
   z-index: 1
 }

 .pricing .price {
   color: var(--white-text);
   text-shadow: 0 2px 10px rgba(0, 0, 0, .45)
 }

 .pricing h5,
 .pricing p,
 .pricing li {
   color: var(--white-text);
   text-shadow: 0 1px 6px rgba(0, 0, 0, .45)
 }

 .pricing ul {
   background: rgba(0, 0, 0, 0.5);
   border-radius: .5rem;
   padding: .5rem .75rem
 }

 .pricing.highlight {
   box-shadow: 0 14px 32px rgba(12, 15, 20, .22)
 }

 /* Map tiers to assets images */
  .pricing-bg-general {
  background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), 
              url('../../assets/images/party-img1.jpg') center/cover no-repeat;
}

.pricing-bg-vip {
  background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), 
              url('../../assets/images/party-img3.jpg') center/cover no-repeat;
}

.pricing-bg-table {
  background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), 
              url('../../assets/images/party-img4.jpg') center/cover no-repeat;
}


 /* Keep badge readable */
 .pricing-badge {
   position: absolute;
   top: .75rem;
   right: .75rem;
   background: var(--prime-bg);
   color: var(--prime-btn-text);
   border-radius: 999px;
   z-index: 1
 }

 /* Improve button pop on imagery */
 .pricing .btn {
   box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28)
 }

 /* Sponsors */
 .sponsor-tile {
   background: var(--card-bg);
   color: var(--head-text);
   transition: transform .2s ease, box-shadow .2s ease
 }

 .sponsor-tile:hover {
   transform: translateY(-2px);
   box-shadow: 0 10px 22px rgba(12, 15, 20, 0.10)
 }

 /* Accordion theming */
 .custom-accordion .accordion-item {
   background: var(--card-bg);
   border: 1px solid var(--light-border)
 }

 .custom-accordion .accordion-button {
   background: var(--card-bg);
   color: var(--head-text)
 }

 .custom-accordion .accordion-button:focus {
   box-shadow: none;
   border-color: transparent
 }

 .custom-accordion .accordion-button:not(.collapsed) {
   color: var(--head-text);
   background: var(--alt-bg)
 }

 .custom-accordion .accordion-body {
   color: var(--para-text)
 }

 /* Back to top */
 .back-to-top {
   position: fixed;
   right: 1.25rem;
   bottom: 1.25rem;
   z-index: 1030;
   display: none;
   border-radius: 999px;
   box-shadow: 0 10px 24px rgba(12, 15, 20, .22);
   display: inline-block;
    width: 60px;
    height: 60px;
    font-size: 24px;
 }

 .back-to-top i {
   pointer-events: none
 }

 [data-newyeareve-theme="light"] .back-to-top {
   color: var(--prime-btn-text)
 }

 [data-newyeareve-theme="dark"] .back-to-top {
   color: var(--prime-btn-text)
 }

 /* Theme toggle icon button */
 .theme-toggle-btn {
   width: 38px;
   height: 38px;
   display: grid;
   place-items: center;
   border-radius: 999px;
   background: transparent;
   border: 1px solid var(--light-border);
   color: var(--nav-text);
   padding: 0
 }

 .theme-toggle-btn i {
   font-size: 1rem;
   line-height: 1
 }

 /* Ensure navbar toggler is visible in both themes */
 .navbar .navbar-toggler {
   border-color: var(--light-border);
   color: var(--nav-text)
 }

 .navbar .navbar-toggler-icon {
   background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
   background-size: 100% 2px, 100% 2px, 100% 2px;
   background-position: center 4px, center 10px, center 16px;
   background-repeat: no-repeat;
   color: var(--nav-text);
 }

 /* Stronger outline button border for readability on images */
 .btn-outline-light {
   border: 1px solid rgba(255, 255, 255, 0.28)
 }

 /* Readable placeholders in both themes */
 input::placeholder,
 textarea::placeholder {
   color: var(--para-alt-text);
   opacity: .95
 }

 [data-newyeareve-theme="dark"] input::placeholder,
 [data-newyeareve-theme="dark"] textarea::placeholder {
   color: #cfd9e6;
   opacity: .85
 }

 /* Offcanvas menu theming */
 .offcanvas {
   background: var(--card-bg);
  color: var(--para-text);
  height: 100vh;
 }

 .offcanvas .offcanvas-title {
   color: var(--head-text)
 }

 [data-newyeareve-theme="dark"] .offcanvas .btn-close {
   filter: invert(1);
 }

 /* Improve general text contrast inside cards */
 .card:not(.pricing) h5,
 .card:not(.pricing) h6 {
   color: var(--head-text)
 }

 .card:not(.pricing) p,
 .card:not(.pricing) .small,
 .card:not(.pricing) li {
   color: var(--para-text)
 }

 /* Ensure FAQ and map/secondary text are readable */
 .accordion-body,
 .accordion-item p,
 .accordion-item .small {
   color: var(--para-text)
 }

 /* Hero overlay buttons already adjusted; ensure outline contrasts on imagery */
 .btn-outline-light {
   color: var(--white-text);
   border: 1px solid rgba(255, 255, 255, 0.34)
 }

 /* Dark mode: slightly lift secondary text to improve readability */
 [data-newyeareve-theme="dark"] .card .small,
 [data-newyeareve-theme="dark"] .card p,
 [data-newyeareve-theme="dark"] .accordion-item .small {
   color: #cfd9e6;
 }

 /* Contact section readability on dark background */
  [data-newyeareve-theme="dark"] .bg-dark-section,
  [data-newyeareve-theme="dark"] .bg-dark-section p,
  [data-newyeareve-theme="dark"] .bg-dark-section .small,
  [data-newyeareve-theme="dark"] .bg-dark-section li,
  [data-newyeareve-theme="dark"] .bg-dark-section label,
  [data-newyeareve-theme="dark"] .bg-dark-section h3 {
    color: var(--white-text)
  }

  [data-newyeareve-theme="dark"] .bg-dark-section a {
    color: var(--white-text)
  }

  [data-newyeareve-theme="light"] .bg-dark-section,
  [data-newyeareve-theme="light"] .bg-dark-section p,
  [data-newyeareve-theme="light"] .bg-dark-section .small,
  [data-newyeareve-theme="light"] .bg-dark-section li,
  [data-newyeareve-theme="light"] .bg-dark-section label,
  [data-newyeareve-theme="light"] .bg-dark-section h3 {
    color: var(--head-text);
  }

  [data-newyeareve-theme="light"] .bg-dark-section a {
    color: var(--prime-text);
  }  
  .error{
    color: red;
  }
  .alertmsg{
    z-index:9999;
  }