/* Base */
:root {
  --glass-bg: rgba(255, 255, 255, 0.08);
  --glass-border: rgba(255, 255, 255, 0.25);
  --blur: 12px;
  --brand: #7b5cff;
  --brand-2: #9c86ff;
}

html, body {
  margin: 0; /* reset default browser margin */
  padding: 0;
  font-family: 'Outfit', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
  background: radial-gradient(1200px 800px at 10% -10%, rgba(123,92,255,0.25), transparent 60%),
              radial-gradient(1000px 800px at 90% 10%, rgba(255,114,210,0.25), transparent 60%),
              linear-gradient(180deg, #0f1020 0%, #0a0b18 100%);
  color: #e9ecf1;
}

img { max-width: 100%; height: auto; }

/* Glassmorphic Navbar */
.navbar {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  margin: 8px auto 0; /* reduce top gap when fixed at top */
  width: min(1100px, calc(100% - 32px));
}
.navbar .logo {
  width: 36px; height: 36px;
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  color: white;
}
.navbar .nav-link { color: #e9ecf1; opacity: 0.9; }
.navbar .nav-link:hover, .navbar .nav-link:focus { opacity: 1; }

/* Hero */
.hero {
  min-height: 78vh;
  width: min(1100px, calc(100% - 32px));
    margin: 0 auto;
  display: grid;
  place-items: center;
  position: relative;
  border-bottom-left-radius: 32px;
  border-bottom-right-radius: 32px;
  /* background: url('https://images.unsplash.com/photo-1514525253161-7a46d19cd819?q=80&w=1920&auto=format&fit=crop') center/cover no-repeat fixed; */
}
.hero .overlay {
  position: absolute; inset: 0;
  background: radial-gradient(1200px 800px at 20% 10%, rgba(123,92,255,0.35), transparent 60%),
              radial-gradient(1000px 800px at 80% 20%, rgba(255,114,210,0.35), transparent 60%),
              rgba(10, 11, 24, 0.45);
  border-bottom-left-radius: 32px;
  border-bottom-right-radius: 32px;
}
.hero .badge { backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }

/* Cards & Horizontal scroller */
.horizontal-scroller {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 85%;
  gap: 1rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  padding-bottom: .5rem;
}
@media (min-width: 576px) { .horizontal-scroller { grid-auto-columns: 60%; } }
@media (min-width: 768px) { .horizontal-scroller { grid-auto-columns: 45%; } }
@media (min-width: 992px) { .horizontal-scroller { grid-auto-columns: 32%; } }

.horizontal-scroller > * { scroll-snap-align: start; }

.card {
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
  border: 1px solid rgba(156,134,255,0.25);
  border-radius: 16px;
  overflow: hidden;
  /* box-shadow: 0 10px 30px rgba(0,0,0,0.25); */
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card:hover {
  /* transform: translateY(-4px); */
  /* box-shadow: 0 16px 40px rgba(123,92,255,0.25); */
  border-color: rgba(123,92,255,0.55);
}
.card .ratio { overflow: hidden; }
.card .ratio img { transition: transform .6s ease; }
/* .card:hover .ratio img { transform: scale(1.05); } */
.card .card-title { color: #f3f4f8; }
.card .price { color: #dcd5ff; }

/* Buttons */
.btn-primary {
  --bs-btn-bg: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: #6a4af0;
  --bs-btn-hover-border-color: #6a4af0;
  --bs-btn-focus-shadow-rgb: 123, 92, 255;
}
.btn-outline-primary {
  --bs-btn-color: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: var(--brand);
  --bs-btn-hover-border-color: var(--brand);
  --bs-btn-active-bg: var(--brand);
  --bs-btn-active-border-color: var(--brand);
}
.btn-outline-secondary {
  --bs-btn-color: #cfc8ff;
  --bs-btn-border-color: #8a79ff;
  --bs-btn-hover-bg: #7b5cff;
  --bs-btn-hover-border-color: #7b5cff;
  --bs-btn-active-bg: #6a4af0;
  --bs-btn-active-border-color: #6a4af0;
}
.btn-icon { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; }

/* Footer */
footer { background: rgba(255,255,255,0.03); border-top: 1px solid rgba(255,255,255,0.1); }

/* Utilities */
.object-fit-cover { object-fit: cover; }

/* Focus styles for accessibility */
:focus-visible { outline: 2px dashed var(--brand); outline-offset: 2px; border-radius: 8px; }

/* Palette tweaks: unify to purples */
:root { --brand-2: #9c86ff; }

/* Make tertiary sections dark to avoid white-on-white issues */
.bg-body-tertiary {
  background: rgba(255,255,255,0.04) !important;
  color: #e9ecf1 !important;
}
.bg-body-tertiary .text-secondary { color: #bfc6d1 !important; }

/* Modernize cards */
.card {
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
  border: 2px solid rgba(156,134,255,0.25);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card:hover {
  /* transform: translateY(-4px); */
  /* box-shadow: 0 16px 40px rgba(123,92,255,0.25); */
  border-color: rgba(123,92,255,0.55);
}
.card .ratio { overflow: hidden; }
.card .ratio img { transition: transform .6s ease; }
/* .card:hover .ratio img { transform: scale(1.05); } */
.card .card-title { color: #f3f4f8; }
.card .price { color: #dcd5ff; }

/* Buttons: keep to purple scale */
.btn-outline-secondary {
  --bs-btn-color: #cfc8ff;
  --bs-btn-border-color: #8a79ff;
  --bs-btn-hover-bg: #7b5cff;
  --bs-btn-hover-border-color: #7b5cff;
  --bs-btn-active-bg: #6a4af0;
  --bs-btn-active-border-color: #6a4af0;
}
.btn-outline-light { --bs-btn-hover-color: #0f1020; }

/* Badges: remap Bootstrap contextuals to purple shades */
.text-bg-primary { background: linear-gradient(135deg, var(--brand), var(--brand-2)) !important; color: #fff !important; }
.text-bg-info { background: linear-gradient(135deg, #9c86ff, #7b5cff) !important; color: #fff !important; }
.text-bg-success { background: linear-gradient(135deg, #6f5bff, #a89aff) !important; color: #fff !important; }
.text-bg-warning { background: linear-gradient(135deg, #b9adff, #7b5cff) !important; color: #1b132d !important; }
.badge { border: 1px solid rgba(255,255,255,0.15); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }

/* Links on dark */
.link-body-emphasis { color: #e9ecf1; }
.link-body-emphasis:hover { color: #ffffff; }

/* Section headings inside dark sections */
.bg-body-tertiary h2, .bg-body-tertiary p { color: inherit; }

/* Light sections (Upcoming Events, Blog) */
.bg-body-tertiary { background: #ffffff !important; color: #0f1020 !important; }
.bg-body-tertiary .text-secondary { color: #5c6673 !important; }
.bg-body-tertiary a { color: var(--brand); }
.bg-body-tertiary a:hover { color: #6a4af0; }
/* Adjust card text colors when on light background */
.bg-body-tertiary .card .card-body { color: #0f1020; }
.bg-body-tertiary .card .card-title { color: #12131f; }
.bg-body-tertiary .card .card-text { color: #5c6673 !important; }
.bg-body-tertiary .price { color: var(--brand); }

/* Hide horizontal scrollbars on scrollers (keep scrollable) */
.horizontal-scroller { scrollbar-width: none; -ms-overflow-style: none; }
.horizontal-scroller::-webkit-scrollbar { display: none; }

/* Mobile bottom nav (home only) */
body.home { padding-bottom: 72px; }
.mobile-bottom-nav {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030;
  background: rgba(16, 17, 34, 0.8);
  border-top: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-top-right-radius: 16px;
  border-top-left-radius: 16px;
}
.mobile-bottom-nav .nav {
  display: grid; grid-template-columns: repeat(4, 1fr);
}
.mobile-bottom-nav .nav-link {
  padding: .5rem .25rem; text-align: center; color: #e9ecf1; opacity: .9;
  display: flex; flex-direction: column; align-items: center; gap: .15rem;
}
.mobile-bottom-nav .nav-link i { font-size: 1.2rem; }
.mobile-bottom-nav .nav-link span { font-size: .75rem; }
.mobile-bottom-nav .nav-link:hover, .mobile-bottom-nav .nav-link:focus { opacity: 1; }

/* Absolutely centered navbar that doesn't affect layout flow */
.navbar.navbar-absolute {
  position: fixed;
  top: 12px; /* was 12px */
  left: 50%;
  transform: translateX(-50%);
  margin: 0; /* remove default margin so it doesn't add padding */
  z-index: 1040;
}

/* auth */
 .auth-layout {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 992px) {
  .auth-layout { grid-template-columns: 1.15fr 1fr; }
}
.auth-hero {
  position: relative;
  background: url('https://images.unsplash.com/photo-1514525253161-7a46d19cd819?q=80&w=1920&auto=format&fit=crop') center/cover no-repeat;
  border-right: 1px solid rgba(255,255,255,0.1);
}
.auth-hero::after {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(1200px 800px at 20% 10%, rgba(123,92,255,0.35), transparent 60%),
              radial-gradient(1000px 800px at 80% 20%, rgba(156,134,255,0.35), transparent 60%),
              rgba(10, 11, 24, 0.45);
}
.auth-card {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 20px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
.form-control { border-radius: 14px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.2); color: #fff; }
.form-control::placeholder { color: #d0d4dc; opacity: .8; }
.form-control:focus { box-shadow: 0 0 0 .25rem rgba(123,92,255,.25); border-color: #8a79ff; }
.divider { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .75rem; color: #bfc6d1; }
.divider::before, .divider::after { content: ""; height: 1px; background: rgba(255,255,255,0.15); }
.btn-google { background: #fff; color: #12131f; border: 1px solid #e6e8ef; }
.btn-google:hover { background: #f5f6fa; border-color: #e0e3ea; color: var(--brand); }
.btn-google .g { display: inline-flex; width: 18px; height: 18px; margin-right: .5rem; }

/* Spacing to offset fixed navbar on non-home pages */
body.has-fixed-nav main { padding-top: 96px; }
/* On home we manage spacing differently (hero usually has own spacing) */
body.home main { padding-top: 0; }

/* Tables inside cards: remove white row backgrounds on dark */
.card .table {
  --bs-table-bg: transparent;
  --bs-table-color: inherit;
  --bs-table-striped-bg: rgba(255,255,255,0.04);
  --bs-table-striped-color: inherit;
  --bs-table-hover-bg: rgba(255,255,255,0.06);
  --bs-table-hover-color: #fff;
  background-color: transparent;
  color: inherit;
}
.card .table th,
.card .table td {
  background-color: transparent !important;
}
.card .table thead th {
  color: #cfd3dc;
  border-bottom-color: rgba(255,255,255,0.18);
}
.card .table tbody tr:hover {
  background-color: rgba(255,255,255,0.03) !important;
}


.offer-ribbon {
    background-color: var(--brand);
    color: white;
    padding: 4px 24px;
    border-radius: 16px;
    font-size: 14px;
    position: absolute;
    top: -16px;
    left: 16px;
    z-index: 2;
}


.offer-price-item {
    border: 1px solid rgba(156,134,255,0.25);
    border-radius: 16px;
    padding: 16px;
}

.offer-price-item h4 {
    color:#6a4af0;
    font-weight: 600;
}

.price-per-ticket {
    background-color: rgba(54, 243, 148, 0.302);
    color: black;
    border-radius: 8px;
    padding: 4px 8px;
    font-size: 12px;
    font-weight: 500;
}

.get-offer-button {
    background: linear-gradient(135deg, var(--brand), var(--brand-2));
    color: white;
    border-radius: 12px;
    padding: 8px 16px;
    font-weight: 400;
    display: inline-block;
    width: 100%;
    text-align: center;
    border: none;
    text-decoration: none;
    color: white!important;
    transition: background 0.3s ease;
}

.get-offer-button:hover {
    background: linear-gradient(135deg, var(--brand-2), var(--brand));
    color: white;
    text-decoration: none;
}

/*Change Font in Toast Message */
.toast-success,.toast-info,.toast-warning,.toast-error{
  width:400px !important;
   font-family: 'Poppins', sans-serif;
   font-size:0.75rem;
   border-radius:1rem !important;
  background-color:#edf1fd;
  color:#01081e !important;
  border-color:transparent !important;
}

/*change close button design customize*/
.closebtn{
  width:25px;
  height:25px;
  border-radius:50%;
  background-color:#ccd7fc !important;
}

.closebtn>i{
  color:#000617;
  font-weight:500;
}

#toast-container>.toast-success {
  background-image:  url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKLSURBVHgBzZZNbtpAFMffjMFRQY28hFKpzg1gGZFKWGkqdZX2BHVOUHIC4AQ0J6g5QZVVpDTUqC10V3GDelGqSF3UG1cqgZm+GYIVbPAHoCp/CWY89sxP78289wbgP4tAShW+XugwyeiiP6Xc/VV9PkwzPxao2e+1fHbXBEqOgfEyztDCq5AecN4ZVQ+tuPUigY8H9hvOWHMpZLkc/LWiwEuBwqqcqrUJMBPWk+WN6alrGG4sULpQfWjjqzJsJDL0xsQIQmnws7y6294cJsTLeZW1g6MLwFK/a2JjwvZkFgfd+kogqgFbFuXQ0GxbCwFvrdNhHXHew3+Lz05pUNqD7MQMAYGT17AebTg6eGZMx+PWqhijVDme9zP+KOE1SItCixhVXom+oqp4sld4iHP/EEoLS/3LcsSqrnQVtsFXaFHret9wHvXtBkRvh1b81n3iA6eMrM4kBNw/Y1qZKrSyuEf8TGSUwucPNUwQTYiR4rE9HxgjPb/DGsISytiJRCHYyynNgn2hK5S+gxSaATMZJ/IrDvXip6uXP54e9QjjZ4xSw60YLu5bnCt9/cXKIlr/YGFY/MYmKkm7eBIr18YLRzzIxM7ZW0godL9k3Q2LuLqmKTs70n3ClbKKJBWRcQqLQJiex07kvFYafLRlCCQvWcKYjs+ed3RMPzcq+w6QYqEkLDxgP6uHe/Nn30JHlBEOLdiyRKwGnhdV+nJl4ZVhzTQXkoWH5eTuQCgOszdKXRRP2Fh86OXoaXA0BBSuzWKlFpciWJvFO5gYZKwGX0VeokTJwk1vkKRlS+Zb1hodHK2Mz0T3UlkrRflaVlEkhOMWkHMvT61lVqUGLsIvy+Q22WcyE8fZn2Wee6t/lXrvcWjggekAAAAASUVORK5CYII=')!important;
}

#toast-container>.toast-info {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJaSURBVHgBvVZNbtNQEJ55idd4hSphKnOCkhM0PQHpCUhuADsWLTgkQuwQJyCcoOEEpSfAnKBW6cK0m6wb+U1nXu04bdLkTRT1kxLnOR5/b/7eNwge2Dn61ybEN4agbRFiBAjlPgFM+HfK1xSJfuXDl7/XvQtXEh1fdvnyiT8xeAEzgKKfD3ZHjz6xlOjDeYzN4IQQXsNGYOLpzUH+9VX28B+zQPbx8i0FwZ/NyQQUI7/j+dFFZ2Er8wt5wKA5gW0CoZt/jn7WyxISRvGsKojt8cGEptNWFd46pEFw6kfG+SE6KBrQ4kW27mmu4FDqoVo7wrIaY/AB2Z6U/3USpZbsey8Troed44vujBDuSt8LSDgrJs63IvwNx4HS1IB46msmObEAfUR8RkTvVDnnVDTZoEPgD5cTgG9svPrUWG7babLZntJowl8Ze5hKv/Gttr817htdg+MIucT/D6NWPnjR4/PzLyhg+Bw2ur6jLrfPj9lKH53QgBI07xVqwnkH43KiACKlcnXVrYRUuOHvTGNUFMYRsj6qD3fRTWMsnfkayA6vv0RpudoHJSQdEtKxtwHvsGZ3LaECb3hsyrEg8zGoCiZMzkMkrV5iJlxVlfa9TCym9W5xLB/wRuE4HGE+iEZ8AKRrbRpl3ibirf1OQJ5esnflnFMLcMICXGxfgN1k12ABTh4IsNxA8NM3FaHoZ1IPU/dOGnGbRfVQexgsJXLvsL2r4e69PC8fEzm8UASikTFsAK7glJrTw3nPVhLOiJ9qEF4gllGfxZPbYE/kbH7UF23kX2fS1D6j/i3BTfaqkKQ1ngAAAABJRU5ErkJggg==')!important;
}
#toast-container>.toast-warning {
  background-image:  url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHbSURBVHgBxZZPTsJAFMa/NxDEjYJE1/UGcgOP4BEwARNXeAP0BMSVCzWNJxBPIDfQG8COhSSwJBH7fFNbaKV/ZsA/vwVppzPz5Zt58zHAH0OwZOCisjNHgxWmBYVe9RRTm/FWgiMXzpZHz/LoBE1DUly3EVWwoOSpTkRM43hzXMACY4eBu0HCp6m4PDR1aeywzOSmfKrYuDQSHN9LkTCOFw3Mr/I7DF9JUXt0E1vqzQQVqBN5ne41UdfFop+DtkqppDpmc+Wg3SFeKL5IsGeLfSNw4+02sgrrCn5zl0mhkN83U3DiqjZgtjc+ss95LlMF9TFgj63OmCbPZapgGZbuQsRlsO/mguu6W05KnYlkbvK3BIII24TUyFsR1O50iWNDdBgkuVwR/AF3IYmRFwtvXdIF5f/9ZOGH9UwmlDB/0RPn9Y0Ge8yhiLnIp8IiZCDm9/U81Y02LBzqUpbqMhG0Zv7B9YMz6MBfOrSJMDkyV8z8YNq/WKTuUgeJAZ2hxk+1Fi5rTTSIuWc2Zhl5Sh8DG3dQtLuYh+jIdFgYeTS+w4kieoQdQ3wVTF7RxNhmdopSNlaDAhyswexd8kDfLRG5LvwWUmTX1XO5VoYNemmJYbwnNnhAf7+FPv6DT2e/n0VFnPgUAAAAAElFTkSuQmCC')!important;
}
#toast-container>.toast-error {
  background-image:  url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIlSURBVHgB3VbBbtNAEH2zTugFFIPgwAlzA4mK8AdrvgC+APiSKl/S9AvoH8SfEEQP3PCNAwjcA6IQeYcdYxtvbK/jNr30SVG86519npk3swvcdNCuC7880dF0Ck1QzxVMKHMGKmOYD5sNkoefknSXfQYJvz7TekJ0xIAe2CjJwSf3PybLgXXd+BzpcHZHHQP8CiPAoOWfjVn0edxJKOE7mNLKPka4HNLfG467SOkayGpSCvjF3XWSNSfV9qpbU3W0BzJBxLmkxIXj4bdD/VaBjrFH5Mzxg7MkqcaOhwHwBuOR+V4GVuHNcU0oubMK032GNh+P5Wdjsq4nGet6vh/619OXj1qEUtQeI/EiswJISXFckArZhGMRxcUFvPhJJm4REmPusQnZ0OrHXIdCIKQVmdTrwYTee2xBStV7T/7PIvQZWY/mJWlcSb1oDrdtCZH3Y6HIzOpnjIFxh2E4eofGcvarrZkz8awZXkdIXd/J6rxFyH6jzJK9rsgkjNs5hac8mMy6RRgESDyEECU6OStzKuVk30lwezXQ3NvpNN8Pte2h/bVYeuEX1zYYyb2zVbssBDljMWA+jszCEJ80xw7hv57Hp9gTCLzcPpBboqYA7+xfiqsjtc25FbEWYaG6oFBdiiuQyR7SCgcJS9LCgOHGfxfYMJ6WB2/a/X4AxRnJ9tgir3oLNdpL1KJ59l2KsIIt8ijP7TWRixqcldbn0jDGXBNvPv4C3QjuTqveJGAAAAAASUVORK5CYII=')!important;
}

.references{
  margin-top:2rem;
 font-size:0.75rem;
  display:flex;
  justify-content:flex-start;
  flex-direction:column;
  align-items:center;
}
.references a{
  text-decoration:none;
  text-align:left;
}

footer {
    a {
        text-decoration: none;
        color: inherit;
    }

    a:hover {
        color: var(--brand);
    }
}

.announcement-bar {
    background: var(--brand);
    color: white;
    text-align: center;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    width: 100%;
    /* make it always be on top of the page */
    position: sticky;
    top: 0;
    z-index: 9999999999999999!important;
}


