:root {
   /* --theme-color: 270 100% 25%; */

   /* Base Colors */
   --color-bg: color-mix(in hsl, hsl(var(--theme-color)), white 95%);
   --color-text: #0f172a;

   /*  Derived Theme Shades */
   --color-primary: hsl(var(--theme-color));
   /* main color */
   --color-primary-light: color-mix(in hsl, hsl(var(--theme-color)), white 30%);
   --color-primary-dark: color-mix(in hsl, hsl(var(--theme-color)), black 25%);
   --color-accent: color-mix(in hsl, hsl(var(--theme-color)), black 15%);
   --color-accent-light: color-mix(in hsl, hsl(var(--theme-color)), white 80%);
   --color-accent-bg: color-mix(in hsl, hsl(var(--theme-color)), white 85%);

   /* Navbar */
   --navbar-bg: rgba(0, 0, 0, 0.71);
   --navbar-scroll-bg: rgba(255, 255, 255, 0.95);
   --navbar-shadow: rgba(15, 23, 42, 0.1);

   /* Event Section */
   --calendar-bg: var(--color-primary);
   --calendar-text: #fff;
   --event-bg: #fff;
   --event-text: var(--color-primary-dark);
   --event-border: #fff;
   --event-shadow: rgba(0, 0, 0, 0.15);
   --event-meta: color-mix(in hsl, hsl(var(--theme-color)), gray 40%);

   /* Pills & Buttons */
   --pill-bg: var(--color-primary-light);
   --pill-text: color-mix(in hsl, hsl(var(--theme-color)), white 90%);
   --pill-active-bg: #fff;
   --pill-active-text: var(--color-primary);

   /* Status Pills */
   --status-bg: var(--color-accent-bg);
   --status-text: color-mix(in hsl, hsl(var(--theme-color)), black 20%);
   --status-live-bg: var(--color-accent-bg);
   --status-live-text: var(--status-text);

   /* Misc */
   --border-light: rgba(255, 255, 255, 0.15);
   --overlay-bg: rgba(0, 0, 0, 0.5);
}



/* ---------------- Base ---------------- */
html,
body {
   height: 100%;
   background: var(--color-bg);
   color: var(--color-text);
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
}

/* ---------------- Navbar ---------------- */
.topbar {
    position: fixed;
    width: 100%;
    top: 0;
    padding: 40px;
    z-index: 10000;
    transition: all 0.3s ease;
    background: linear-gradient(180deg, var(--navbar-bg) 0%, rgba(0, 0, 0, 0) 100%);
}

.topbar .brand i,
.topbar .brand span,
.topbar nav a {
   color: #fff;
}

.topbar.scrolled {
   background: var(--navbar-scroll-bg);
   border-color: #e2e8f0;
   padding: 20px 0;
   box-shadow: 0 4px 16px var(--navbar-shadow);
}

.topbar.scrolled .brand i {
   color: var(--color-accent);
}

.topbar.scrolled .brand span,
.topbar.scrolled nav a {
   color: var(--color-text);
}

.brand {
   display: flex;
   align-items: center;
   gap: 0.6rem;
   font-weight: 800;
}

section#banner {
   position: relative;
   height: 100vh;
}

/* ---------------- Toggle Button ---------------- */
.toggle-btn {
   background: none;
   border: none;
   color: #fff;
   font-size: 1.5rem;
   cursor: pointer;
   display: flex;
   align-items: center;
}

.topbar.scrolled .toggle-btn {
   color: var(--color-text);
}

.banner_img {
   background: #000 url('../assets/images/banner.jpg');
   padding-top: 160px;
   background-size: contain;
   background-repeat: no-repeat;
   background-position: left center;
   display: flex;
   align-items: end;
   padding-bottom: 70px;
   font-weight: bold;
}

/* ---------------- Hero Slider ---------------- */
.hero-slider {
   position: absolute;
   height: 100%;
   width: 100%;
}

.hero-slider .slide {
   height: 100vh;
   background-size: cover;
   background-position: center;
}

.hero-slider .slick-slide div {
   height: 100%;
}

.hero-slider .slick-list,
.hero-slider .slick-track {
   height: 100vh;
}

.slick-dots {
   bottom: 25px;
}

.hero-slider .slick-dots li button:before {
   color: var(--color-accent);
}

/* Dark overlay */
.hero-slider::after {
   content: "";
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.5);
   z-index: 1;
}

/* Text content */
.hero-content {
   position: absolute;
   top: 50%;
   left: 8%;
   transform: translateY(-50%);
   z-index: 2;
   color: white;
   max-width: 600px;
}

.hero-content h1 {
   font-size: 3rem;
   font-weight: 800;
   line-height: 1.2;
   margin-bottom: 1rem;
}

.hero-content h1 span {}

.hero-content p {
   font-size: 1.15rem;
   margin-bottom: 1.8rem;
   color: rgba(255, 255, 255, 0.9);
}

.hero-content .btn-theme {
   background: var(--color-primary);
   color: #fff;
   border: none;
   font-weight: 700;
   padding: 12px 28px;
   border-radius: 999px;
   transition: background 0.3s ease;
}

.hero-content .btn-theme:hover {
   background: var(--color-primary-dark);
}

@media (max-width: 767px) {
   .hero-content h1 {
      font-size: 2rem;
   }

   .hero-content {
      left: 5%;
      max-width: 90%;
   }
}

iframe.map {
   position: absolute;
   top: 0;
   left: 0;
}

.z-1 {
   z-index: 10000 !important;
}

.z-2 {
   z-index: 9999 !important;
}

.month-filter {
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto;
   max-width: 400px !important;
   text-align: center;
}

.month-filter .overflow-auto {
   display: flex;
   align-items: center;
   justify-content: center;
   max-width: 100%;
}

.month-filter .month-box {
   border: 1px solid var(--border-success);
   color: #a7a7a7;
   display: inline-flex;
   border-radius: 5px;
   text-decoration: none !important;
   margin: 0 5px;
   overflow: hidden;
}

.month-filter .month-box .year-name {
   padding: 2px 20px;
   background: #ffffff;
   color: var(--border-success);
   font-size: 15px;
   cursor: pointer;
   display: block;
   width: 100%;
}

.month-filter .month-box.active,
.month-filter .month-box:hover {
   border-color: var(--border-success);
}

.month-filter .month-box.active .year-name,
.month-filter .month-box:hover .year-name {
   background-color: var(--bg-success);
   color: white;
}

.month-filter .month-box.active .month-name,
.month-filter .month-box:hover .month-name {
   color: var(--bg-success);
}

.month-filter {
   display: flex;
   align-items: center;
}

.overflow-container {
   overflow: hidden;
   width: 100%;
   flex-grow: 1;
}

.months-list {

   transition: transform 0.3s ease-in-out;
   gap: 12px;
   position: relative;
}

.month-slider .slick-arrow {
   position: relative;
   background: transparent;
   border: 0;
   padding: 0;
   color: #878787;
}
.month-slider .slick-prev,.month-slider .slick-next {
   position: absolute;
   z-index: 1000000;
}
.month-slider .slick-prev {
    left: 0px;
}
.month-slider .slick-next {
   right: 0px !important;
}
.month-box {
   /* fixed width for each month */
   box-sizing: border-box;
   /* include padding/border in width */
   margin: 0 6px;
   flex: 0 0 auto;
   /* prevent flex growth if any parent is flex */
}

.slick-slide {
   display: inline-block;
   /* slick clones use inline-block well with variableWidth */
}

@media (max-width: 500px) {
   .month-slider .slick-arrow {
      width: 50px;
   }

   .team_stats_tbl tr h4 {
      font-size: 16px !important;
   }
}



/* ---------------- Calendar Section ---------------- */
.calendar-shell {
   background: white;
   color: var(--calendar-text);
   padding: 50px 20px 40px;
   border-radius: 28px;
   margin-top: -50px;
   position: relative;
}

.section-title {
   color: var(--color-text);
}

.calendar-inner {
   max-width: 1200px;
   margin: 0 auto;
}

.tournamentCard_custom {
   position: relative;
   overflow: hidden;
}

.bg {
   background: url("../assets/images/bg.png");
   background-size: cover;
   background-position: center center;
   position: absolute;
   top: 0;
   left: 0;
   height: 100%;
   width: 100%;
   opacity: 0.3;
   z-index: 0;
}

.tournamentCard_custom .bg+div {
   position: relative;
   z-index: 1;
}

.bgWrapper {
   margin: -16px -16px 10px;
   padding: 15px;
   padding-right: 50px;
   position: relative;
}

.calendar .calendar-month {
   background-color: var(--falcon-danger);
   color: #fff;
   border-radius: .375rem .375rem 0 0;
   padding: .25rem;
   font-weight: 600;
}

.calendar .calendar-day {
   font-size: 1.728rem;
   padding: .25rem;
   border: .125rem solid rgba(var(--falcon-danger-rgb), 0.3);
   border-top: 0;
   border-radius: 0 0 .375rem .375rem;
   color: #9da9bb;
   font-weight: 700;
}

.tournamentCard_custom a,
.tournamentCard_custom h4 {
   color: white;
}

.badge-beacon {
   position: relative;
}

.bgWrapper>* {
   position: relative;
   z-index: 1;
   color: white !important;
}

.calendar {
   width: 3.125rem;
   line-height: 1;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
   -ms-flex-direction: column;
   flex-direction: column;
   text-align: center;
   font-family: var(--falcon-font-sans-serif);
   border-radius: .375rem;
}

.seg-toggle {
   display: inline-flex;
   background: var(--color-accent-light);
   border-radius: 999px;
   padding: 6px;
   gap: 6px;
}

.seg-toggle button {
   border: 0;
   background: transparent;
   color: var(--color-accent);
   font-weight: 700;
   padding: 8px 18px;
   border-radius: 999px;
}

.seg-toggle button.active {
   background: var(--color-primary-dark);
   color: #fff;
}


.fancyTable {
  position: relative;
  background: white !important;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
}

.fancyTable tr:last-child th,
.fancyTable tr th[rowspan] {
  border-bottom: 2px solid #054a8b;
}

.fancyTable th {
  font-size: 14px;
  font-weight: bold;
  background: #fff;
  cursor: pointer;
}

.fancyTable.table-bordered td {
  border-color: #d6e0e9 !important;
}

.fancyTable td {
  font-size: 14px;
  border-bottom: 2px solid #e0ebf5;
  height: 60px;
  vertical-align: middle;
}

#rankTab {
    /* background: #064393; */
    /* padding-inline: 24px; */
    /* border-radius: 12px; */
    margin-bottom: 12px;
}

.rank {
  position: relative;
  display: inline-flex;
  gap: 2px;
  font-weight: bold;
  font-size: 14px;
  align-items: center;
}

.rank.up {
  color: #2cb215;
}

.rank.down {
  color: #ff0000;
}

.fancyTable .fa-chevron-down,
.fancyTable .fa-chevron-up {
  font-size: 12px;
}

.fancyTable .player img {
  height: 40px;
  width: 40px;
  border-radius: 4px;
  border: 1px solid #ddd;
  margin-right: 10px;
  transition: all 0.3s;
}

.fancyTable .player {
  display: flex;
  align-items: center;
  gap: 5px;
}

.fancyTable .player a {
  font-size: 14px;
  white-space: nowrap;
  max-width: 250px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.imgPreview .closeImg {
  display: inline-block;
  position: absolute;
  top: calc(50% - 140px);
  right: calc(50% - 140px);
  font-size: 30px;
}

.imgPreview {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  z-index: 10000;
  gap: 10px;
  backdrop-filter: blur(5px);
  transition: all 0.3s;
}

.imgPreview img {
  height: 200px;
  width: 200px;
}

/* .fancyTable .player:hover img {
		transform: scale(1.5);
	  } */
li.nav-item.customTabs {
  margin-bottom: 10px;
}



/* ---------------- Month Pills ---------------- */
.month-pills {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
}

.month-pills button.pill:after {
   content: "";
   height: 100%;
   width: 100%;
   background: rgb(255, 255, 255);
   top: 0;
   left: 100%;
   position: absolute;
   border-radius: 30px;
   transition: all .3s;
}

.month-pills .pill {
   border: 0;
   background: var(--pill-bg);
   color: var(--pill-text);
   padding: 6px 14px;
   border-radius: 999px;
   font-weight: 700;
   position: relative;
   overflow: hidden;
}

.month-pills button.pill:hover:after {
   left: 0%;
   background: var(--pill-active-bg);
   color: var(--pill-active-text);
}

.month-pills .pill.active {
   background: var(--pill-active-bg);
   color: var(--pill-active-text);
}

.month-pills button.pill:hover>span {
   color: var(--pill-active-text);
}

.month-pills .pill>span {
   position: relative;
   z-index: 1;
}

/* ---------------- Event Card ---------------- */
.event-card {
   background: var(--event-bg);
   color: var(--event-text);
   border-radius: 22px;
   padding: 18px 18px;
   display: flex;
   align-items: center;
   gap: 16px;
   border: 6px solid var(--event-border);
   box-shadow: 0 8px 24px var(--event-shadow);
}

.event-card+.event-card {
   margin-top: 22px;
}

.date-block {
   color: white;
   text-align: center;
   max-width: 200px;
   min-width: 110px;
   background: var(--color-primary);
   border-radius: 10px;
   height: 100%;
   padding: 10px 0;
}

.date-day {
   font-weight: 900;
   font-size: 32px;
   line-height: 1;
}

.date-mon {
   color: var(--color-accent-light);
   font-weight: 800;
   font-size: 12px;
   text-transform: uppercase;
}

.event-title {
   font-size: 26px;
   line-height: 1.1;
   font-weight: 900;
   text-transform: uppercase;
   letter-spacing: 0.5px;
   margin: 10px 0 6px;
}

.event-meta {
   color: var(--event-meta);
   font-weight: 700;
   font-size: 14px;
}

.status-pill {
   background: var(--status-bg);
   color: var(--status-text);
   font-weight: 800;
   font-size: 12px;
   border-radius: 999px;
   padding: 4px 10px;
   display: inline-block;
}


/* New sections */
.section {
   padding: 60px 0;
}



.pill {
   display: inline-block;
   padding: 6px 12px;
   border-radius: 999px;
   background: var(--pill-bg);
   color: var(--pill-text);
   font-weight: 600;
   font-size: .85rem;
}

/* CTA button (matches your theme) */
.btn-cta {
   display: inline-block;
   background: color-mix(in hsl, hsl(var(--theme-color)), white 10%);
   color: #fff;
   padding: 10px 20px;
   border-radius: 999px;
   font-weight: 700;
   text-decoration: none;
   box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
   transition: transform .18s ease, box-shadow .18s ease;
}

.btn-cta:hover {
   transform: translateY(-3px);
   box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
}


/* Shared card and layout (flexbox only) */
.drib-card {
   background: var(--event-bg);
   border-radius: 18px;
   box-shadow: 0 18px 40px var(--event-shadow);
   padding: 28px;
}

.container-xl {
   max-width: 1200px;
   margin: 0 auto;
   padding: 48px 22px;
}

.row-flex {
   display: flex;
   gap: 28px;
   align-items: center;
}

.row-flex .col-main {
   flex: 1;
}

.row-flex .col-side {
   width: 420px;
   flex-shrink: 0;
}

@media (max-width:992px) {

   .row-flex,
   .news-flex,
   .contact-flex {
      flex-direction: column;
   }

   .row-flex .col-side,
   .news-flex .col-side,
   .contact-flex .col-side {
      width: 100%;
   }

   .about-media {
      flex-direction: row;
      gap: 12px;
   }
}

/* ABOUT */
.about-drib {
   padding: 64px 0;
}



.about-left {
   padding: 40px;
   flex: 1;
}

.eyebrow {
   display: inline-block;
   font-weight: 800;
   color: var(--color-primary);
   margin-bottom: 10px;
}

.about-left h2 {
   font-size: 2rem;
   line-height: 1.08;
   margin: 0 0 12px;
   font-weight: 900;
   color: var(--color-text);
}

.about-left p {
   color: var(--event-meta);
   margin-bottom: 18px;
   max-width: 62ch;
}

.cta-row {
   display: flex;
   gap: 12px;
   align-items: center;
   margin-top: 6px;
}

.btn-primary {
   background: var(--color-primary);

   border: 0;
   transition: background .3s ease;
}

.btn-primary:hover {
   background: var(--color-primary-dark);
}

.btn-ghost {
   background: transparent;
   border: 2px solid var(--color-primary-light);
   color: var(--color-primary);
   padding: 10px 16px;
   border-radius: 12px;
   font-weight: 700;
}

.stats {
   display: flex;
   gap: 12px;
   margin-top: 18px;
}

.stat {
   background: var(--color-accent-bg);
   padding: 8px 14px;
   border-radius: 12px;
   font-weight: 800;
   color: var(--color-text);
}

/* About media uses flex to stack images */
.about-media {
   display: flex;
   flex-direction: column;
   gap: 12px;
   padding: 8px;
   width: 420px;
}

.about-media .row {
   display: flex;
   gap: 12px;
}

.media-card:hover~.media-card,
.media-card:hover+.media-card {
   height: 20% !important;
}

.media-card:hover {
   height: 60%;
}

.media-card {
   margin-bottom: 10px;
   border-radius: 12px;
   background-size: cover;
   background-position: center;
   box-shadow: 0 12px 30px var(--event-shadow);
   flex-grow: 1;
   height: 33.3%;
   transition: .3s all;
}

.media-card.big {
   height: 200px;
   width: 100%;
}


/* NEWSLETTER */
.news-drib {
   padding: 48px 0;
}

.news-flex {
   display: flex;
   gap: 20px;
   align-items: center;
}

.news-card {
   background: var(--event-bg);
   border-radius: 18px;
   box-shadow: 0 18px 40px var(--event-shadow);
   padding: 0;
   overflow: hidden;
   display: flex;
}

.news-left {
   padding: 26px;
   border-radius: 14px;
   background: var(--color-accent-bg);
   flex: 1;
}

.news-left h4 {
   margin: 0 0 6px;
   font-size: 1.15rem;
   color: var(--color-text);
}

.news-left p {
   margin: 0 0 12px;
   color: var(--event-meta);
}

.news-form {
   display: flex;
   gap: 10px;
   margin-top: 8px;
}

.news-form input {
   flex: 1;
   padding: 12px 14px;
   border-radius: 12px;
   border: 1px solid var(--color-primary-light);
   font-weight: 600;
   color: var(--color-text);
   background: var(--color-bg);
}

.news-illu {
   width: 380px;
   flex-shrink: 0;
}

.news-illu img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 12px;
   box-shadow: 0 16px 40px var(--event-shadow);
   display: block;
}

/* CONTACT */
.contact-drib {
   padding: 64px 0;
   background: linear-gradient(180deg, var(--color-bg), var(--color-accent-bg));
}

.contact-flex {
   display: flex;
   gap: 28px;
   align-items: stretch;
}

.contact-form {
   background: var(--event-bg);
   padding: 28px;
   border-radius: 16px;
   box-shadow: 0 18px 40px var(--event-shadow);
   flex: 1;
}

.contact-form h3 {
   margin: 0 0 8px;
   font-size: 1.5rem;
   color: var(--color-text);
}

.contact-form p {
   color: var(--event-meta);
   margin-bottom: 12px;
}

.field {
   display: block;
   margin-bottom: 12px;
}

.field input,
.field textarea {
   width: 100%;
   padding: 12px 14px;
   border-radius: 10px;
   border: 1px solid var(--color-primary-light);
   background: var(--color-bg);
   color: var(--color-text);
}

.btn-send {
   display: inline-block;
   margin-top: 8px;
   background: var(--color-primary);
   color: #fff;
   padding: 12px 18px;
   border-radius: 10px;
   font-weight: 800;
   border: 0;
   transition: background .3s ease;
}

.btn-send:hover {
   background: var(--color-primary-dark);
}

.map-side {
   border-radius: 16px;
   overflow: hidden;
   box-shadow: 0 18px 40px var(--event-shadow);
   width: 420px;
   flex-shrink: 0;
}

.map-placeholder {
   height: 100%;
   min-height: 320px;
   background: var(--color-primary);
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-weight: 800;
}

.small {
   font-size: .94rem;
}

.center {
   text-align: center;
}


/* Responsive */
@media (max-width: 992px) {}

@media (max-width: 576px) {}


.btn-theme {
   background: var(--color-primary);
   color: white;
   border: none;
   padding: 10px 18px;
   border-radius: 8px;
   font-weight: 600;
}

.footer {
   background: color-mix(in hsl, hsl(var(--theme-color)), black 95%);
   color: color-mix(in hsl, hsl(var(--theme-color)), white 85%);
   padding: 38px 0;
   margin-top: 28px;
}

.footer a {
   color: inherit;
   text-decoration: none;
}


/* ---------------- Responsive ---------------- */

@media (max-width: 767px) {
   .hero-slider img {
      height: 40vh;
   }

   .about-hero {
      flex-direction: column;
      align-items: flex-start;
   }

   #sidepanel {
      width: 100%;
      left: -100%;
   }
}

@media (max-width: 992px) {
   .event-card {
      grid-template-columns: 80px 1fr;
   }

   .media-wrap {
      grid-column: 1 / -1;
   }
}
