﻿/* ============================================================
   KPL Custom Overrides
   ============================================================ */

/* ---- BCAL Multi-Sport Preloader ---- */

/* Override main.css white background â€” NO !important on display so jQuery fadeOut still works */
#rts__preloader {
  background: #0d0d0d !important;
  z-index: 99999 !important;
  /* display/position/size already set correctly by main.css */
}

/* Wrapper: flex column, centred */
.BCAL-preloader {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 22px;
}

/* ---- Orbit ring container ---- */
.BCAL-sport-ring {
  position: relative;
  width: 160px;
  height: 160px;
  animation: BCAL-orbit 3s linear infinite;
}
@keyframes BCAL-orbit {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Sport icon badges â€” 4 positions */
.BCAL-sport-ring .s-icon {
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(228,27,35,0.15);
  border: 1.5px solid rgba(228,27,35,0.5);
  color: #e41b23;
  font-size: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Top  */ .BCAL-sport-ring .s-icon:nth-child(1){ top:0;    left:calc(50% - 20px); animation: BCAL-ccw 3s linear infinite; }
/* Right*/ .BCAL-sport-ring .s-icon:nth-child(2){ right:0;  top:calc(50%  - 20px); animation: BCAL-ccw 3s linear infinite; }
/* Bot  */ .BCAL-sport-ring .s-icon:nth-child(3){ bottom:0; left:calc(50% - 20px); animation: BCAL-ccw 3s linear infinite; }
/* Left */ .BCAL-sport-ring .s-icon:nth-child(4){ left:0;   top:calc(50%  - 20px); animation: BCAL-ccw 3s linear infinite; }

/* counter-rotate icons so they stay upright */
@keyframes BCAL-ccw { from{transform:rotate(0deg)} to{transform:rotate(-360deg)} }

/* Centre trophy â€” FIX: include translate in keyframe so it stays centred */
.BCAL-preloader-center {
  position: absolute;
  top: 50%; left: 50%;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: #1a1a1a;
  border: 2px solid rgba(228,27,35,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: BCAL-center-ccw 3s linear infinite;
}
/* Must include translate so animation doesn't wipe it out */
@keyframes BCAL-center-ccw {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(-360deg); }
}

/* ---- BCAL brand text â€” tight letter-spacing ---- */
.BCAL-loader-brand {
  color: #ffffff;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 2px;       /* was 6px â€” caused "B A C L" spacing */
  text-transform: uppercase;
  font-family: sans-serif;
}

/* ---- Bouncing dots ---- */
.BCAL-loader-dots {
  display: flex;
  gap: 6px;
}
.BCAL-loader-dots span {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e41b23;
  animation: BCAL-dot 1.4s ease-in-out infinite;
}
.BCAL-loader-dots span:nth-child(2) { animation-delay: 0.2s; }
.BCAL-loader-dots span:nth-child(3) { animation-delay: 0.4s; }
@keyframes BCAL-dot {
  0%, 80%, 100% { transform: scale(0.55); opacity: 0.35; }
  40%           { transform: scale(1.25); opacity: 1;    }
}

/* ---- Shorter banner for all inner/secondary pages ---- */
.banner1.banner5.cricket.page-inner .thumbBannerSlide .swiper-slide .banner-single {
  padding-top: 110px;
  padding-bottom: 80px;
}
@media (max-width: 768px) {
  .banner1.banner5.cricket.page-inner .thumbBannerSlide .swiper-slide .banner-single {
    padding-top: 80px;
    padding-bottom: 50px;
  }
}
@media (max-width: 576px) {
  .banner1.banner5.cricket.page-inner .thumbBannerSlide .swiper-slide .banner-single {
    padding-top: 60px;
    padding-bottom: 30px;
  }
}

/* Hide the thumbnail pagination strip on inner pages for a clean short banner */
.banner1.banner5.cricket.page-inner .pagination-area {
  display: none;
}

/* Size the inner-page slider to the photo itself. Swiper force-stretches every
   slide to height:100% of the container (full viewport on the home hero), which
   on inner pages left a tall empty grey gap below the shorter banner image.
   Scoped to .page-inner so the full-screen home hero is untouched. */
.banner1.banner5.cricket.page-inner .thumbBannerSlide,
.banner1.banner5.cricket.page-inner .thumbBannerSlide > .swiper-wrapper,
.banner1.banner5.cricket.page-inner .thumbBannerSlide > .swiper-wrapper > .swiper-slide {
  height: auto !important;
}

/* ---- Tournament Wins Section (history page) ---- */
.kpl-tournament-section {
  padding: 80px 0;
  background: #0d0d0d;
}
.kpl-tournament-section .section-pretitle {
  display: block;
  text-align: center;
  font-size: 13px;
  letter-spacing: 3px;
  color: var(--color-primary, #e41b23);
  text-transform: uppercase;
  margin-bottom: 10px;
  font-weight: 600;
}
.kpl-tournament-section .section-heading {
  text-align: center;
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
.kpl-tournament-section .section-sub {
  text-align: center;
  color: #aaa;
  font-size: 15px;
  margin-bottom: 50px;
}
.kpl-tournament-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: #1a1a1a;
  border: 1px solid rgba(228, 27, 35, 0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  margin-bottom: 30px;
}
.kpl-tournament-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(228, 27, 35, 0.25);
  border-color: rgba(228, 27, 35, 0.5);
}
.kpl-tournament-card .card-img-wrap {
  position: relative;
  overflow: hidden;
}
.kpl-tournament-card .card-img-wrap img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.kpl-tournament-card:hover .card-img-wrap img {
  transform: scale(1.04);
}
.kpl-tournament-card .card-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: var(--color-primary, #e41b23);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 3px;
}
.kpl-tournament-card .card-body {
  padding: 22px 24px 26px;
}
.kpl-tournament-card .card-body .city-name {
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
}
.kpl-tournament-card .card-body .tournament-name {
  font-size: 13px;
  color: var(--color-primary, #e41b23);
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.kpl-tournament-card .card-body .tournament-desc {
  font-size: 14px;
  color: #999;
  line-height: 1.7;
  margin: 0;
}
.kpl-tournament-card .card-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 24px;
  border-top: 1px solid rgba(255,255,255,0.07);
  background: rgba(228, 27, 35, 0.05);
}
.kpl-tournament-card .card-footer-strip .trophy-icon {
  color: #f5c518;
  font-size: 18px;
}
.kpl-tournament-card .card-footer-strip .result-text {
  font-size: 12px;
  font-weight: 700;
  color: #f5c518;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* ---- Rotating announcement carousel in the top bar (pure CSS) ---- */
#rtsHeader .top-bar-mid .bcal-ticker {
  position: relative;
  display: inline-block;
  height: 20px;
  line-height: 20px;
  min-width: 480px;
  max-width: 66vw;
  overflow: hidden;
  vertical-align: middle;
  text-align: center;
}
#rtsHeader .top-bar-mid .bcal-ticker .bcal-ticker-item {
  position: absolute;
  left: 50%;
  top: 0;
  white-space: nowrap;
  opacity: 0;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin: 0 !important;
  transform: translateX(-50%) translateY(8px);
  animation: baclTopTicker 20s infinite;
}
/* 5 messages, each visible ~3.4s of a 20s loop (delay = i * 4s) */
#rtsHeader .top-bar-mid .bcal-ticker .bcal-ticker-item:nth-child(1) { animation-delay: 0s; }
#rtsHeader .top-bar-mid .bcal-ticker .bcal-ticker-item:nth-child(2) { animation-delay: 4s; }
#rtsHeader .top-bar-mid .bcal-ticker .bcal-ticker-item:nth-child(3) { animation-delay: 8s; }
#rtsHeader .top-bar-mid .bcal-ticker .bcal-ticker-item:nth-child(4) { animation-delay: 12s; }
#rtsHeader .top-bar-mid .bcal-ticker .bcal-ticker-item:nth-child(5) { animation-delay: 16s; }
#rtsHeader .top-bar-mid .bcal-ticker .bcal-ticker-deadline {
  color: #ffd34d !important;
  font-weight: 700 !important;
}
#rtsHeader .top-bar-mid .bcal-ticker .bcal-ticker-reward {
  color: #7CF29B !important;
  font-weight: 700 !important;
}
#rtsHeader .top-bar-mid .bcal-ticker .bcal-ticker-live {
  color: #7CC6FF !important;
  font-weight: 700 !important;
}
@keyframes baclTopTicker {
  0%   { opacity: 0; transform: translateX(-50%) translateY(8px); }
  2%   { opacity: 1; transform: translateX(-50%) translateY(0); }
  18%  { opacity: 1; transform: translateX(-50%) translateY(0); }
  20%  { opacity: 0; transform: translateX(-50%) translateY(-8px); }
  100% { opacity: 0; transform: translateX(-50%) translateY(-8px); }
}
@media (max-width: 767px) {
  #rtsHeader .top-bar-mid .tag { display: none; }            /* free up width on small screens */
  #rtsHeader .top-bar-mid .bcal-ticker { min-width: 0; width: 92vw; max-width: 92vw; }
  #rtsHeader .top-bar-mid .bcal-ticker .bcal-ticker-item { font-size: 11px !important; }
}
@media (prefers-reduced-motion: reduce) {
  #rtsHeader .top-bar-mid .bcal-ticker .bcal-ticker-item { animation: none; }
  #rtsHeader .top-bar-mid .bcal-ticker .bcal-ticker-item:nth-child(2) { opacity: 1; }
}

