
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Monomakh&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Oswald:wght@200..700&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bungee+Spice&family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Monomakh&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Oswald&family=Pacifico&family=Playwrite+RO:wght@100..400&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  body {
    font-family: 'Lato', sans-serif;
    overflow-x: hidden;
    color: #333;
  }
  html {
    scroll-behavior: smooth;
  }

/* for scrollbar */
::-webkit-scrollbar {width: 5px;}
::-webkit-scrollbar-track {box-shadow: inset 0 0 5px grey; border-radius: 10px;}
::-webkit-scrollbar-thumb {background: linear-gradient(to right, #04ACEC, #F59423);border-radius: 10px;}
::-webkit-scrollbar-thumb:hover {    background: linear-gradient(to right, #04ACEC, #F59423);}



/* Preloader Styles */
#preloader {position: fixed;top: 0;left: 0;right: 0;bottom: 0;background-color: rgb(255, 255, 255);display: flex;justify-content: center;align-items: center;z-index: 9999;}
.punch-loader {display: flex;flex-direction: column;align-items: center;}
.karate-fist {width: 150px;height: 150px;background-image: url('../images/punch.png'); background-size: contain;background-position: center;background-repeat: no-repeat;animation: punchEffect 1s ease-out infinite;}

/* Punch effect animation */
@keyframes punchEffect {
  0%{transform: translateX(0);}
25% {transform: translateX(20px);}
50% {transform: translateX(0);}
75% {transform: translateX(-20px);}
100%{transform: translateX(0);}}
/* Thunder background effect */
@keyframes thunderFlash {0% {background-color: rgba(255, 255, 255, 0);}50% {background-color: rgba(255, 255, 255, 0.7);}100% {background-color: rgba(255, 255, 255, 0);}}
@keyframes lightningStrike {0%, 100% {opacity: 0;}20% {opacity: 1;}40% {opacity: 0;}60% {opacity: 1;}80% {opacity: 0;}}

/* Lightning Effect */
.lightning {position: absolute;top: 50%;left: 50%;width: 200px;height: 200px; background-image: url('../images/thunder.gif');background-size: contain; background-repeat: no-repeat;background-position: center;transform: translate(-50%, -50%);z-index: 1;animation: lightningStrike 1.5s infinite;}
@media (max-width: 600px) {.karate-fist {width: 50px;height: 50px;}}


 /* menu css starts here */

header {
  position: sticky;
  top: 0;
  background: #ffffff;
  color: #29211d;
  display: flex;
  align-items: center;
  padding: 25px 75px;
  z-index: 1000;
  font-size: 14px;
  font-weight: 500;
  transition: padding 0.3s, background 0.3s;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

ul {
  margin-bottom: 0;
}

header.shrink {
  padding: 15px 70px;
  background: #fffafa;
}

.logo {
  font-size: 1.5rem;
  font-weight: bold;
  position: relative;
  z-index: 1001;
}
.logo img {
  position: absolute;
  top: -15px;
  left: 0;
  width:100px;
}

/* New layout styles */
.header-center {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

nav {
  flex: 1;
  display: flex;
  justify-content: right;
}

.contact-info {
  display: block;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
.contact-info a {
  color: #29211d; 
  font-size: 14px;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
}
.contact-info img {
  width: 16px;
  height: 16px;
}

/* Hamburger menu toggle */
.menu-toggle {
  display: none;
  width: 30px;
  height: 22px;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  z-index: 1100;
}
.menu-toggle span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: #29211d;
  border-radius: 3px;
  opacity: 1;
  left: 0;
  transition: all 0.3s ease-in-out;
}
.menu-toggle span:nth-child(1) {
  top: 0;
}
.menu-toggle span:nth-child(2) {
  top: 9px;
}
.menu-toggle span:nth-child(3) {
  top: 18px;
}
.menu-toggle.open span:nth-child(1) {
  transform: rotate(45deg);
  top: 9px;
}
.menu-toggle.open span:nth-child(2) {
  opacity: 0;
}
.menu-toggle.open span:nth-child(3) {
  transform: rotate(-45deg);
  top: 9px;
}

.menu {
  display: flex;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu li {
  position: relative;
}

.menu a {
  color: #1a0000;
  text-decoration: none;
  padding: 10px 20px;
  display: inline-block;
  position: relative;
  font-weight: 500;
  border-radius: 8px;
  transition: all 0.3s ease;
  background: transparent;
  width: 100%;
}

.menu a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 6px;
  transform: translateX(-50%);
  width: 0%;
  height: 3px;
  border-radius: 50px;
  background: linear-gradient(to right, #04ACEC, #f59423);
  transition: width 0.4s ease-in-out;
}

.menu a:hover {
  color: #b89300;
  background: rgba(245, 148, 35, 0.1);
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  transform: translateY(-2px);
}

.menu a:hover::after {
  width: 80%;
}
.menu li {
  animation: fadeInUp 0.5s ease forwards;
  opacity: 0;
}

.menu li:nth-child(1) { animation-delay: 0.1s; }
.menu li:nth-child(2) { animation-delay: 0.2s; }
.menu li:nth-child(3) { animation-delay: 0.3s; }
/* Continue as needed */

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.arrow {
  margin-left: 6px;
  font-size: 0.85em;
  transition: transform 0.3s ease;
}

.menu a:hover .arrow {
  transform: translateX(3px);
}
  
.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  min-width: 200px;
  list-style: none;
  padding: 10px 0;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  border-radius: 6px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
}
.menu li:hover > .submenu {
  display: block;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.submenu .submenu {
  left: 100%;
  top: 0;
}

@media (max-width: 768px) {
  header {
    padding: 20px 50px;
    flex-direction: column;
    align-items: flex-start;
  }
  header.shrink {
    padding: 35px 48px;
  }

  .header-center {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }

  nav {
    width: 100%;
    justify-content: end;
  }

  .menu-toggle {
    display: block;
  }

  .menu {
    flex-direction: column;
    background: #29211d;
    position: fixed;
    top: 0;
    left: -100%;
    height: 100vh;
    width: 300px;
    padding: 80px 20px;
    transition: left 1s ease;
    overflow-y: auto;
  }
  .menu.active {
    left: 0;
    z-index: 1001;
  }

  .menu li {
    width: 100%;
    margin-bottom: 10px;
  }

  .menu li a {
    color: #ffffff;
    padding: 12px 16px;
    justify-content: space-between;
    border-radius: 0px;
    border-bottom: 1px solid #f3f2f238;
    width: 100%;
  }

  .menu li a:hover {
    background: #444;
  }

  .submenu {
    position: static;
    background: #444;
    padding-left: 16px;
    box-shadow: none;
  }

  .menu li.active > .submenu {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .submenu .submenu {
    padding-left: 16px;
    background: #555;
  }

  .arrow {
    transition: transform 0.3s ease;
  }

  .menu li.active > a .arrow {
    transform: rotate(90deg);
  }

  .contact-info {
    display: none;
  }
}

#menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 900;
  display: none;
}
#menu-overlay.active { 
  display: block;
}
/* menu css end here */



@keyframes fadeIn {0% {opacity: 0;}100% {opacity: 1;}}
@keyframes slideUp {0% {transform: translateY(10px);opacity: 0;}100% {transform: translateY(0);opacity: 1;}}
@keyframes dropdownScaleIn {0% {opacity: 0;transform: scale(0.8);}100% {opacity: 1;transform: scale(1);}}
@keyframes fadeInFromBottom {0% {transform: translateY(10px);opacity: 0;}100% {transform: translateY(0);opacity: 1;}}
@keyframes fadeInBackground {0% {opacity: 0;}100% {opacity: 1;}}



  /* slider css starts here */
.fullscreen-slider {position: relative;width: 100%;height: 100vh;overflow: hidden;z-index: 1; }
.fullscreen-slider.mobile-slider { display: none; }
.fullscreen-slider.desktop-slider { display: block; }
.slider-container {height: 100%;width: 100%;display: flex;position: relative;}
.slide {position: absolute;height: 100%;width: 100%;background-size: cover;background-position: center;opacity: 0;transition: opacity 0.8s ease-in-out;}
.slide.active { opacity: 1; z-index: 1; }
@keyframes slideUpFade {0% {opacity: 0; transform: translateY(30px);}100% {opacity: 1; transform: translateY(0);}}
@keyframes slideLeftFade { 0% {opacity: 0; transform: translateX(40px);}100% {opacity: 1; transform: translateX(0);}}
@keyframes fadeZoom {0% {opacity: 0; transform: scale(0.95);}100% {opacity: 1; transform: scale(1);}}
.slider-description h2,
.slider-description p,
.slider-description .slider-btn {opacity: 0;}
.slide.active .slider-description h2 {animation: slideUpFade 1s ease forwards;animation-delay: 0.3s;}
.slide.active .slider-description p {animation: slideLeftFade 1s ease forwards;animation-delay: 0.6s;}
.slide.active .slider-description .slider-btn {animation: fadeZoom 1s ease forwards;animation-delay: 0.9s;}
.slider-description {position: absolute;top: 50%;left: 60px;transform: translateY(-50%);z-index: 10;color: #070000;max-width: 500px;}
.slider-description h2 {font-size: 45px;margin-bottom: 1rem;}
.slider-description p {font-size: 30px;line-height: 30px;}
.slider-description p span {font-size:24px;line-height: 30px;}
.slider-btn { border:none; display: inline-block;padding: 14px 34px;background: linear-gradient(to right, #f9a23a, #f57c00);color: #fff;text-decoration: none;font-weight: bold;font-size: 16px;border-radius: 8px;box-shadow: 0 8px 20px rgba(245, 148, 35, 0.3);position: relative;overflow: hidden;transition: all 0.4s ease;}
.slider-btn:hover {background: linear-gradient(to right, #f57c00, #f9a23a);box-shadow: 0 8px 25px rgba(245, 148, 35, 0.5);transform: translateY(-2px);}
.slider-btn::before {content: "";position: absolute;left: -75%;top: 0;width: 50%;height: 100%;background: rgba(255, 255, 255, 0.3);transform: skewX(-20deg);transition: left 0.6s ease;}
.slider-btn:hover::before {left: 130%;}
.slider-pagination {position: absolute;bottom: 20px;left: 60px;z-index: 10;}
.dot {height: 12px;width: 12px;margin: 0 6px;background-color: #fff;border: 2px solid #F59423;border-radius: 50%;display: inline-block;cursor: pointer;}
.dot.active, .dot:hover { background-color: #F59423; }

/* Clean List */
.karate-list-clean {list-style: none;padding: 0;margin: 1rem 0;}
.karate-list-clean li {display: flex;align-items: flex-start;gap: 10px;padding: 8px 0;}
.karate-list-clean .icon { font-size: 16px; color: #97b940; }
.karate-list-clean .text { font-weight: 500; color: #333; }
@media (max-width: 768px) {.fullscreen-slider.desktop-slider { display: none; }.fullscreen-slider.mobile-slider { display: block; }.slider-description {left: 20px;right: 20px;top: 45%;transform: translateY(-50%);}.slider-description h2 { font-size: 2rem; }.slider-description p { font-size: 1rem; }.slider-description p span { font-size: 1rem; }.slider-pagination { left: 0; right: 0; text-align: center; }}
@media (max-width: 480px) {.slider-description h2 { font-size: 1.4rem; }.slider-description p { font-size: 0.9rem; }.slider-btn { font-size: 13px; padding: 10px 20px; }}

  /* who we are section starts here */

.who-we-are {padding: 4rem 1rem;background: #e8f9ff;font-family: 'Lato', sans-serif; color: #333; }
.who-we-are .section-heading {color: #f7941e;font-size: 2.5rem;font-weight: 700;text-align: center;width: 100%;}
.who-we-are .container {max-width: 1200px;margin: 0 auto;display: flex;flex-wrap: wrap;gap: 1.3rem;}
.who-we-are .column {flex: 1 1 100%;}
.who-we-are h2 {color: #f7941e;font-size: 2.5rem;font-weight: 700;margin-bottom: 1rem;text-align: center;}
.column-one p {font-size: 1rem;line-height: 1.8;margin-bottom: 1.5rem;}
.column-one .highlight {color: #0088cc;font-weight: bold;}
.column-one .bottom-content {display: flex;align-items: center;gap: 1rem;margin-top: 1rem;}
.column-one .bottom-content img {height: 50px;}
.column-one .bottom-content .logo-description {font-size: 0.9rem;}
.column-two .stat {display: flex;align-items: center;margin-bottom: 3.2rem;}
.column-two .circle { width: 35px;height: 35px;background: #f594234a;color: #04ACEC;font-weight: bold;border-radius: 50%;display: flex;flex-direction: column;justify-content: revert-layer;text-align: center;padding: 19px 19px 33px 33px;margin-right: 2rem;font-size: 30px;font-family: "Oswald", sans-serif;}
.column-two .circle .highlight-number {font-size: 1.8rem; color: #0C8DBE;font-weight: bold;overflow-wrap: break-word; }
.column-two .stat-description {font-size: 1rem;line-height: 1.4;color: #0C8DBE; font-weight: 800; }
.column-three .icon-block {align-items: flex-start;margin-bottom: 2rem;gap: 1rem;}  /*display: flex; */
.column-three .icon-block .icon {font-size: 2rem;color: #f7941e;}
.column-three .icon-block p {font-size: 1rem;margin: 0;}
@media (min-width: 768px) {.who-we-are .column {flex: 1 1 calc(33.333% - 1.5rem);}.who-we-are h2 {text-align: left;}}
@media (max-width: 575.98px) {.who-we-are h2 {font-size: 2rem;}.column-two .circle {width: 35px;height: 35px;font-size: 2rem;}.column-three .icon-block .icon {font-size: 1.5rem;}}
@media (min-width: 576px) and (max-width: 767.98px) {.who-we-are h2 {font-size: 2.2rem;}.column-two .circle {width: 55px;height: 55px;font-size: 1.1rem;}.column-three .icon-block .icon {font-size: 1.7rem;}}
@media (min-width: 768px) and (max-width: 991.98px) {.who-we-are .column {flex: 1 1 calc(50% - 1rem);}.who-we-are h2 {font-size: 2.3rem;text-align: left;}}
@media (min-width: 992px) and (max-width: 1199.98px) {.who-we-are .column {flex: 1 1 calc(33.333% - 1.5rem);}.who-we-are h2 {font-size: 2.5rem;}}
@media (min-width: 1200px) {.who-we-are .container {max-width: 1200px;}.who-we-are h2 {font-size: 2.8rem;}}
@media (max-width: 575.98px) {.who-we-are .section-heading {font-size: 2rem;}}
@media (min-width: 576px) and (max-width: 767.98px) {.who-we-are .section-heading {font-size: 2.2rem;}}
@media (min-width: 992px) {.who-we-are .section-heading {font-size: 2.8rem;}}

/* services we offer section css starts here */
.services-offer-section {position: relative;overflow: hidden;color: #fff;}
.services-offer-section .parallax-bg {background-image: url('../images/parallax-bg.png'); background-attachment: fixed;background-size: cover;background-position: center;position: absolute;top: 0;left: 0;height: 100%;width: 100%;z-index: 0;opacity: 0.6;}
.services-offer-section .content-container {position: relative;z-index: 2;text-align: center;}
.services-offer-section .content-container h2 {font-size:42px;color: #0e0c0c;margin-bottom: 10px;}
.services-offer-section .content-container p {font-size: 22px;color: #595E61;margin-bottom: 40px;}

/* box section */
.services-section {text-align: center;padding: 2rem;}
.services-title {margin-bottom: 3rem;}
.services-title h2 {font-size: 2rem;color: #000;margin-bottom: 0.5rem;}
.services-title p {color: #ffffff !important;margin: 0;}
.services-layout {display: flex;gap: 2rem;justify-content: center;align-items: flex-start;flex-wrap: wrap;}
.services-grid {display: grid;grid-template-columns: repeat(3, 1fr);/* max-width: 600px; */flex: 1 1 800px;}
.service-column-wrap {display: flex;flex-direction: column;max-width: 280px;flex: 1 1 280px;}
.service-column-wrap .service-box:first-child {border-bottom-left-radius: 0;border-bottom-right-radius: 0;}
.service-column-wrap .service-box:last-child {border-top-left-radius: 0;border-top-right-radius: 0;}
.service-box {padding: 1.5rem;color: #fff;text-align: left;display: flex;flex-direction: column;justify-content: flex-start;min-height: 300px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);transition: transform 0.3s ease;}
.service-box:hover {transform: translateY(-5px);}
.service-box h3 {font-size: 1.3rem;margin-bottom: 0.5rem;}
.service-box p {margin-bottom: 1rem;font-size: 0.95rem;color: inherit;}
.service-box button {padding: 0.6rem 1.5rem;border: 2px solid currentColor;background: transparent;color: inherit;border-radius: 8px;cursor: pointer;font-size: 0.95rem;font-weight: 600;letter-spacing: 0.5px;transition: all 0.35s ease;position: relative;overflow: hidden;z-index: 1;}
.service-box button::before {content: "";position: absolute;top: 0;left: -100%;width: 100%;height: 100%;background: linear-gradient(to right, #f9a23a, #f57c00);z-index: -1;transition: left 0.35s ease;}
.service-box button:hover {color: #fff;border-color: transparent;}
.service-box button:hover::before {left: 0;}
.service-box.orange {background-color: #f7931e;}
.service-box.orange p{ font-size: 16px;}
.service-box.light {background-color: #eeeeee;color: #333;}
.service-box.light span{ font-size: 16px;}
.light2 {margin-top: 20px;}
.service-box.light button {color: #333;border-color: #333;}
.service-box.dark {background-color: #2a0e0e;margin-top: 0px;}
.service-box.dark p{font-size: 16px; color: #FFFAF0;}
.service-box.cream {background-color: #fcf7ed;color: #333;padding-bottom: 50px;}
.service-box.cream span {font-size: 16px;}
.service-box.cream .note {font-size: 0.85rem;color: #e67e22;margin-top: auto;}
.note span{ color: #595E61;}
@media (max-width: 768px) {
.services-layout {flex-direction: column;align-items: center;}
.services-grid {grid-template-columns: 1fr;max-width: 100%;}
.service-column-wrap {max-width: 100%;}
.services-title h2 {font-size: 1.5rem;}
.services-grid,
.service-column-wrap {gap: 1.2rem;}
.service-box {padding: 1rem;min-height: auto;margin: 0 !important;}}
@media (max-width: 1024px) {
.services-layout {flex-wrap: wrap;gap: 1.5rem;}
.services-grid {grid-template-columns: repeat(1, 1fr);}
.service-column-wrap {max-width: 100%;flex: 1 1 100%;}
.service-box {min-height: auto;}
.service-box h3 {font-size: 1.2rem;}
.service-box p,
.service-box.orange p,
.service-box.light span,
.service-box.dark p {font-size: 0.95rem;}}
@media (max-width: 767px) {
.services-section {padding: 1.5rem;}
.services-title h2 {font-size: 1.4rem;}
.services-title p {font-size: 0.95rem;}
.services-grid,
.service-column-wrap {gap: 1rem;}
.service-box {padding: 1rem;}
.service-box h3 {font-size: 1.1rem;}
.service-box button {font-size: 0.85rem;padding: 0.4rem 1rem;}}
@media (max-width: 479px) {.services-section {padding: 1rem;}
.services-title h2 {font-size: 1.2rem;}
.service-box h3 {font-size: 1rem;}
.service-box p,
.service-box.orange p,
.service-box.light span,
.service-box.dark p {font-size: 0.9rem;}
.service-box button {width: 100%;text-align: center;padding: 0.5rem;}}

/* instructors section */

.instructors-section {padding: 60px 20px;background: linear-gradient(to right, #04ACEC, #F59423);color: #fff;}
.instructors-section .section-header {display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;margin-bottom: 40px;}
.instructors-section .section-header h2 {font-size: 32px;font-weight: bold;position: relative;}
.instructors-section .section-header h2::after {content: '';position: absolute;width: 50px;height: 3px;background: #fff;bottom: -8px;left: 0;animation: slide-in 1s ease-in-out;}
@keyframes slide-in {from {width: 0;opacity: 0;}to {width: 50px;opacity: 1;}}
.instructors-section .section-header .view-more-btn {padding: 10px 24px;background: #04ACEC;color: #fff;text-decoration: none;border-radius: 8px;font-weight: 600;box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);transition: background 0.3s, box-shadow 0.3s;}
.instructors-section .section-header .view-more-btn:hover {background: #0384b8;box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);}
.instructors-section .instructor-cards {display: flex;gap: 25px;flex-wrap: wrap;justify-content: center;}
.instructors-section .instructor-cards .card {background: #fff;overflow: hidden;box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);text-align: center;width: 100%;max-width: 370px;transition: transform 0.3s ease, box-shadow 0.3s ease;}
.instructors-section .instructor-cards .card:hover {transform: translateY(-10px);box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);}
.instructors-section .instructor-cards .card img {width: 100%;height: auto;transition: transform 0.4s ease;}
.instructors-section .instructor-cards .card:hover img {transform: scale(1.05);}
.instructors-section .instructor-cards .card h4 {margin: 15px 0 5px;font-size: 22px;color: #311010;}
.instructors-section .instructor-cards .card p {color: #04ACEC;font-size: 14px;margin-bottom: 20px;}
@media (max-width: 768px) {.instructors-section .section-header {flex-direction: column;align-items: flex-start;gap: 15px;}
.instructors-section .section-header h2 {font-size: 26px;}
.instructors-section .card {max-width: 100%;}}
.instructors-section .badge {display: inline-block;background: #f59423; color: #fff;font-size: 12px;font-weight: bold;padding: 4px 10px;margin-left: 10px;border-radius: 20px;vertical-align: middle;transition: background 0.3s;}
.instructors-section .card:hover .badge {background: #e2820b;}

/* upcoming event section  */
.events-section-hme {padding: 2rem;background: #292929;}
.events-section-hme .section-title {font-size: 2rem;margin-bottom: 1.5rem;text-align: center;font-weight: bold;color: #F59423;}
.event {display: flex;align-items: center;justify-content: space-between;border-radius: 8px;margin-bottom: 1rem;box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);flex-wrap: wrap;}
.event .event-date {  width: 80px;text-align: center;margin-right: 1rem;}
.event .event-date .date-number {font-size: 50px;font-weight: bold;color: #606064;}
.event .event-date .date-text span {display: block;font-size: 1rem;font-weight: 600;color: #04ACEC;}
.event .event-date .date-text small {font-size: 0.85rem;color: #04ACEC;}
.event .event-details {flex: 1;}
.event .event-details h3 {font-size: 1.2rem;margin: 0;color:#F7F7F7;}
.event .event-details p {margin: 0.5rem 0 0;color: #838487;font-size: 0.95rem;}
.event .event-action {margin-left: 1rem;}
.event .event-action .read-more {background-color: #F59423;color: white;padding: 0.5rem 1rem;border-radius: 4px;text-decoration: none;font-size: 0.9rem;transition: background 0.3s ease;}
.event .event-action .read-more:hover {background-color: #c0392b;}
@media (max-width: 768px) 
{.event {flex-direction: column;align-items: flex-start;}
.event .event-date {width: 100%;margin-bottom: 0.5rem;text-align: left;}
.event .event-action {margin-left: 0;margin-top: 0.5rem;width: 100%;text-align: left;}}

/* competitions section  */ 
.competitions-section {padding: 80px 20px;background: linear-gradient(to right, #04aaec2d, #ECDAC4);overflow: hidden;}
.container {max-width: 1200px;margin: 0 auto;}
.main-heading {text-align: center;font-size: 42px;font-weight: 700;color: #222;margin-bottom: 15px;}
.main-description {text-align: center;font-size: 18px;color: #444;margin-bottom: 50px;}
.competition-columns {display: flex;flex-wrap: wrap;justify-content: center;gap: 30px;}
.competition-box {background: rgba(255, 255, 255, 0.15);border: 4px solid rgb(255, 255, 255);backdrop-filter: blur(14px);box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);padding: 30px;flex: 1 1 300px;max-width: 360px;transition: transform 0.3s ease;}
.competition-box:hover {transform: translateY(-8px);}
.competition-inner {display: flex;flex-direction: column;height: 100%;}
.competition-box h2 {font-size: 26px;color: #000;margin-bottom: 10px;}
.competition-box p {font-size: 15px;color: #086377;font-weight: 500;margin-bottom: 20px;}
.competition-table {flex-grow: 1;}
.table-row {display: flex;justify-content: space-between; margin-bottom: 10px;font-size: 14px;}
.gold,
.silver,
.bronze {font-weight: bold;}
.gold {color: #d4af37;}
.silver {color: #c0c0c0;}
.bronze {color: #cd7f32;}
.info-btn {margin-top: 25px;align-self: center;padding: 12px 28px;background: rgba(4, 172, 236, 0.9);color: #fff;border: none;border-radius: 8px;font-weight: 600;font-size: 15px;cursor: pointer;transition: all 0.3s ease-in-out;}
.info-btn:hover {background: rgba(3, 118, 163, 1);transform: scale(1.05);}
@media (max-width: 768px) {
.competition-columns {flex-direction: column;align-items: center;}
.competition-box {max-width: 100%;}}

/* footer section  */

.footer {background: linear-gradient(135deg, #0C8DBE, #087ca0);color: #fff;padding: 60px 20px;font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;position: relative;z-index: 0;}
.footer .container {display: grid;grid-template-columns: repeat(4, 1fr);gap: 40px;}
.footer .footer-column h4 {font-size: 1.3rem; margin-bottom: 18px;font-weight: 600;border-bottom: 2px solid rgba(255, 255, 255, 0.3);padding-bottom: 10px;}
.footer .footer-column p,
.footer .footer-column a {font-size: 0.95rem;line-height: 1.;color: #f0f0f0;transition: all 0.3s ease;text-decoration: none;}
.footer .footer-column a:hover {color: #E88717;text-decoration: underline;}
.footer .logo-box {display: flex;align-items: flex-start;gap: 15px;}
.footer .footer-logo {width: 70px;height: auto;filter: brightness(1.1);}
.footer .footer-description {flex: 1;font-size: 0.95rem;line-height: 1.6rem;}
.footer .footer-description span{ font-size: 1.8rem; line-height: 20px; padding-bottom: 10px;}
.footer .links-grid {display: grid;grid-template-columns: repeat(2, auto);gap: 15px;}
.footer .links-grid ul {list-style: none;padding: 0;margin: 0;}
.footer .links-grid li {margin-bottom: 10px;}
.footer .links-grid li a {display: inline-block;padding: 4px 0;}
.footer .links-grid li a:hover {text-decoration: none;}
.footer .contact-column p,
.footer .hours-column p {margin-bottom: 10px;}
.footer::before {content: '';position: absolute;top: -20px;left: 0;right: 0;height: 20px;background: radial-gradient(ellipse at center, #ffffff1a 0%, transparent 80%);z-index: 0;}
.social-icons {margin-top: 15px;display: flex;gap: 12px;}
.social-icons a {display: inline-flex;align-items: center;justify-content: center;background-color: #06597a;color: #0C8DBE;width: 32px;height: 32px;border-radius: 50%;font-size: 14px;transition: background-color 0.3s, color 0.3s, transform 0.3s;text-decoration: none !important; }
.social-icons a:hover {background-color: #E88717;color: #fff !important;transform: scale(1.1);}

/* Footer bottom bar */
.footer-last {background-color: #E88717;padding: 15px;text-align: center;color: #fff;font-weight: 500;font-size: 0.95rem;letter-spacing: 0.4px;box-shadow: 0 -3px 6px rgba(0, 0, 0, 0.1);}
@media (max-width: 992px) {.footer .container {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 576px) {.footer .container {grid-template-columns: 1fr;}}

/* b2t starts here */
.progress-btn {position: fixed;bottom: 30px;right: 30px;width: 60px; height: 60px;border-radius: 50%;background: linear-gradient(to right, #04ACEC, #F59423);border: none;z-index: 1000 !important;color: #fff;font-size: 20px;cursor: pointer;display: flex;align-items: center;justify-content: center;opacity: 0;visibility: hidden;transition: all 0.3s ease;}
.progress-btn.show {opacity: 1;visibility: visible;}
.progress-ring {position: absolute;top: 0;left: 0;transform: rotate(-90deg);}
.progress-ring circle {stroke: white;stroke-linecap: round;}
.progress-ring .bg {stroke: rgba(255, 255, 255, 0.2);}
.progress-ring .progress {stroke: #fff;stroke-dasharray: 157; stroke-dashoffset: 157;transition: stroke-dashoffset 0.2s linear;}
@media (max-width: 1000px) {.progress-btn { z-index: 0;}}



/* events page starts here */
.karate-banner {position: relative;width: 100%;height: 200px;background: linear-gradient(135deg, #04ACEC, #f1faee, #F59423);background-size: 400% 400%;animation: gradientMove 15s ease infinite;display: flex;flex-direction: column;justify-content: center;align-items: flex-start;text-align: left;color: #fff;padding: 40px 6.8%;padding-top: 2%;padding-bottom: 2%;overflow: hidden;box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.4);}
.karate-banner-content {margin: 0 auto; position: relative;z-index: 2;max-width: 650px;/* margin-bottom: 30px; */padding: 25% 0 25% 0;}
.karate-banner-content h1 {font-size: 2rem;text-transform: uppercase;font-weight: bold;text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.6);text-align:center}
.karate-banner-content p {font-size: 1.4rem;margin-bottom: 25px;font-weight: 300;line-height: 1.6;}

@keyframes gradientMove {0% {background-position: 0% 50%;}50% {background-position: 100% 50%;}100% {background-position: 0% 50%;}}
.breadcrumb { text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.6);font-size: 1rem;color: #ffffff;display: flex;align-items: baseline;margin-top: 15px;border-radius: 30px;backdrop-filter: blur(10px);justify-content: center;}
.breadcrumb a {color: #ffffff;text-decoration: none;transition: color 0.3s ease, transform 0.3s ease;padding-right: 10px;font-weight: 500;}
.breadcrumb a:hover {background: linear-gradient(270deg, #04ACEC, #6a11cb, #2575fc);background-size: 400% 400%;animation: gradientMove 4s ease infinite;background-clip: text;-webkit-background-clip: text;-webkit-text-fill-color: transparent;}
.breadcrumb .separator {color: #ffffff;padding: 0 8px;}
.breadcrumb .current {color: #f1faee;font-weight: bold;}
.breadcrumb a:focus, .breadcrumb .current:focus {outline: none;text-decoration: underline;color: #04ACEC;}
.breadcrumb a::after {content: "›";padding-left: 10px;font-size: 1.2rem;}
.breadcrumb a:last-child::after {content: none;}
@media (max-width: 768px) {
.breadcrumb {font-size: 1.1rem;padding: 6px 12px;}
.breadcrumb a {font-size: 1rem;}
.breadcrumb .separator {padding: 0 6px;}}  
@media (max-width: 480px) {.breadcrumb {font-size: 1rem;padding: 4px 8px;}        
.breadcrumb a {font-size: 0.9rem;}
.breadcrumb .separator {padding: 0 4px;}
.karate-banner-content h1 {font-size: 2.5rem;}
.d-flex {display: block !important;} 
.karate-banner { height: 280px;justify-content: flex-start; }}
.events-section {background-color: #f4f4f4;padding: 50px 0;}
.events-section .container {max-width: 1200px;margin: 0 auto;padding: 0 20px;}
.events-section .heading-container {display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;margin-bottom: 20px;}
.events-section .section-heading {font-size: 2rem;font-weight: bold;color: #333; margin: 0;flex: 1;}
.events-section .download-btn {padding: 12px 25px;background-color: #04ACEC;border: none;color: white;font-size: 1rem;border-radius: 5px;cursor: pointer;text-align: center;}
.events-section .download-btn:hover {background-color: #0384b8;}
.events-section .section-description {font-size: 1rem;color: #555;line-height: 1.6;padding-top: 3%;}
@media (max-width: 768px) {.events-section {padding: 30px 0;}
.events-section .container {padding: 0 15px;}
.events-section .heading-container {flex-direction: column;text-align: center;}
.events-section .section-heading {font-size: 1.0rem;margin-bottom: 15px;}
.events-section .download-btn {margin-top: 10px;width: 100%;}
.events-section .section-description {font-size: 1rem;}}

/* card image view */
.events-section {padding: 50px 0;background-color: #f4f4f4;position: relative;overflow: visible;}
.events-section button{   padding: 10px 24px;background: #04ACEC;color: #fff;text-decoration: none;border-radius: 8px;border: none;font-weight: 600;box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);transition: background 0.3s, box-shadow }
.events-section button:hover { background-color: #0384b8;}
.section-heading {font-size: 2.5rem;font-weight: bold;color: #333;}
.section-description {font-size: 1.2rem;color: #555;line-height: 1.6;}
.cards-section {padding: 10px 0;background-color: #f4f4f4;position: relative;overflow: visible;}
.cards-section .container {display: flex;flex-wrap: wrap;gap: 20px;justify-content: center;}
.cards-section .cards {width: 100%;max-width: 350px;background-color: white;border-radius: 10px;position: relative;box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);transition: transform 0.3s ease;overflow: hidden;margin: 10px 0;}
.cards-section .cards:hover {transform: translateY(-10px);}
.cards-section .cards-image {width: 100%;height: 350px;overflow: hidden;}
.cards-section .full-image {width: 100%;height: 100%;display: block;object-fit: cover;}
.cards-section .date-badge {position: absolute;top: -20px;left: 20px;background-color: #F59423 !important;color: white;padding: 10px 20px;font-size: 1rem;font-weight: bold;z-index: 2;border-radius: 5px;box-shadow: 0 4px 6px rgba(0,0,0,0.1);transform: translateY(-20px);opacity: 0;transition: transform 0.4s ease, opacity 0.4s ease;}
@keyframes badgeBounce {0% {transform: translateY(-20px);opacity: 0;}50% {transform: translateY(5px);opacity: 1;}70% {transform: translateY(-3px);}100% {transform: translateY(0);}}
.cards-section .cards:hover .date-badge {transform: translateY(0);opacity: 1;animation: badgeBounce 0.8s ease forwards;}
.cards-section .date-badge span {display: block;white-space: normal;word-break: break-word;text-align: center; }
.cards-section .date-badge::after {content: "";position: absolute;bottom: -10px;left: 20px;width: 0;height: 0;border-left: 6px solid transparent;border-right: 6px solid transparent;border-top: 10px solid #F59423; }
.cards-section .cards-content {position: absolute;bottom: 0;left: 0;right: 0;background-color: rgba(0, 0, 0, 0.7);color: white;padding: 20px;opacity: 0;transform: translateY(100%);transition: opacity 0.3s ease, transform 0.3s ease;}
.cards-section .cards:hover .cards-content {opacity: 1;transform: translateY(0);}
.cards-section .cards-content h3 {font-size: 1.5rem;margin-bottom: 10px;}
.cards-section .cards-content p {font-size: 1rem;line-height: 1.5;}
@media (max-width: 768px) {.cards-section .cards {max-width: 100%;margin: 0 10px;}.cards-section .cards-content h3 {font-size: 1.2rem;}.cards-section .cards-content p {font-size: 0.9rem;}.section-heading {font-size: 2rem;}.section-description {font-size: 1rem;}}
@media (max-width: 576px) {.cards-section .cards {max-width: 100%;margin: 0 5px;}}

.events1 {margin-top: 5rem;margin-bottom: 5rem;padding: 0 20px;
h1 {font-size: 2.5rem;text-align: center;margin-bottom: 1rem;color: #333;}
details {margin-bottom: 1.5rem;background-color: #f9f9f9;border-radius: 8px;padding: 1rem;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);cursor: pointer;
summary {font-size: 1.25rem;font-weight: bold;margin-bottom: 1rem;color: #333;}
ul {padding-left: 20px;
li {font-size: 1rem;margin-bottom: 0.5rem;color: #555;
.events1-medal {padding: 0.3rem 0.6rem;border-radius: 5px;font-weight: bold;display: inline-block;}
.events1-gold {background-color: #FFD700;color: #fff;}
.events1-silver {background-color: #C0C0C0;color: #fff;}
.events1-bronze {background-color: #cd7f32;color: #fff;}}}
&:hover {background-color: #f1f1f1;}}}
@media (max-width: 768px) {
.events1 h1 {font-size: 2rem;}
.events1 details summary {font-size: 1.1rem;}
.events1 ul li {font-size: 0.9rem;}}



 
/* events page end here */


/* contact us page css starts here */
.section-title {font-size: 2.5rem;text-align: center;color: #F59423;}
.section-subtitle {text-align: center;margin: 10px 0 30px;font-size: 1.1rem;}
.contact-grid {display: flex;flex-wrap: wrap;gap: 40px;align-items: stretch; }
.contact-cards,
.contact-form {flex: 1;min-width: 300px;display: flex;flex-direction: column;gap: 20px;}
.card {background: #fff;border-radius: 8px;padding: 20px;box-shadow: 0 8px 16px rgba(0,0,0,0.05);text-align: center;transition: 0.3s;}
.card a {color: inherit;text-decoration: none;font-weight: 500;}
.card a:hover {text-decoration: underline;}
.card:hover  {transform: translateY(-5px);background: #0385b8a8;color: #ffffff;}
.card i {font-size: 1.8rem;color: #F59423;margin-bottom: 10px;}
.card h3 {font-size: 1.2rem;margin-bottom: 5px; font-weight: 900;}
.contact-grid .card p { font-weight: 700; color: #555555;}
.contact-form {background: #fff;padding: 0 30px 30px 30px; border-radius: 8px;box-shadow: 0 8px 16px rgba(0,0,0,0.05);display: flex;flex-direction: column;justify-content: flex-start;}
.form-group {position: relative;margin-bottom: 20px;}
.form-group input,
.form-group textarea,
.form-group select {width: 100%;padding: 12px;font-size: 1rem;border: 1px solid #ccc;border-radius: 4px;background: none;outline: none;position: relative;z-index: 1;}
.form-group label {position: absolute;top: 12px;left: 14px;background: #fff;padding: 0 5px;transition: 0.3s;pointer-events: none;font-size: 1rem;color: #666;z-index: 2;}
.form-group label span {color: red;font-weight: 700;}
.form-group input:focus + label,
.form-group input:not(:placeholder-shown) + label,
.form-group textarea:focus + label,
.form-group textarea:not(:placeholder-shown) + label {top: -10px;left: 10px;font-size: 0.8rem;color: #F59423;}
.form-group select:focus + label,
.form-group select.selected + label {top: -10px;left: 10px;font-size: 0.8rem;color: #F59423;}
.form-group select option[disabled][hidden] {display: none;}
.error-border {border-color: red !important;box-shadow: 0 0 0 2px rgba(255, 0, 0, 0.15);}
@keyframes shake {0%, 100% { transform: translateX(0); }20%, 60% { transform: translateX(-5px); }40%, 80% { transform: translateX(5px); }}
.shake {animation: shake 0.4s ease-in-out;}
.btn-submit {background: #E88717;color: #fff;padding: 12px 20px;border: none;font-size: 1rem;border-radius: 4px;cursor: pointer;transition: background 0.3s;}
.btn-submit:hover {background: linear-gradient(135deg, #04ACEC, #F59423);}
.map-container {margin-top: 40px;}
.map-container iframe {width: 100%;height: 400px;border: none;display: block;border-radius: 8px;}
@media (max-width: 768px) {.contact-grid {flex-direction: column;}.contact-form {padding: 0 0 30px 0;}}


/* members page css starts here */
.karate-parallax {background: url('../images/bg-parallax.jpg') center/cover fixed no-repeat;padding: 5rem 1rem;color: white;}
.overlay {background: rgba(0, 0, 0, 0.6);padding: 1rem 1rem;border-radius: 1rem;text-align: center;}
.karate-carousel {position: relative;overflow: hidden;max-width: 1200px;margin: 0 auto;padding: 2rem 0;}
.carousel-track {display: flex;transition: transform 0.5s ease-in-out;will-change: transform;}
.carousel-card {min-width: 260px;background: #fff;margin: 0 8px;/* padding: 1.5rem 1rem; */border-radius: 1rem;text-align: center;color: #333;box-shadow: 0 5px 15px rgba(0,0,0,0.1);transform: scale(0.95);animation: fadeInUp 0.7s ease forwards; transition: transform 0.3s ease;}
.carousel-card:hover {transform: scale(1.05);}
.carousel-card img {width: 250px;height: 225px;border-radius: 50%;object-fit: cover;margin-bottom: 1rem;}
.carousel-card h3 {font-size: 1.2rem;margin: 0.5rem 0;}
.carousel-card p {font-size: 0.95rem;color: #555;}
.carousel-nav {position: absolute;top: 50%;transform: translateY(-50%);background: #04ACEC;color: white;border: none;font-size: 2rem;width: 40px;height: 40px;line-height: 40px;border-radius: 50%;cursor: pointer;z-index: 10;display: block;}
.carousel-nav.prev {left: 10px;}
.carousel-nav.next {right: 10px;}
@keyframes fadeInUp {
0% {opacity: 0;transform: translateY(20px) scale(0.95);}100% {opacity: 1;transform: translateY(0) scale(1);}}
@media (max-width: 768px) {
.carousel-card {min-width: 98%;}
.carousel-nav {font-size: 1.5rem;width: 35px;height: 35px;line-height: 35px;display: block !important; }
.karate-parallax {background-attachment: scroll;}}
.social-icons {margin-top: 1rem;display: flex;justify-content: left;gap: 12px;}
.social-icons .icon {width: 36px;height: 36px;background: #04ACEC;color: white;display: flex;align-items: center;justify-content: center;border-radius: 50%;font-size: 0.95rem;transition: transform 0.3s ease, background 0.3s ease;}
.social-icons .icon:hover {transform: scale(1.2) rotate(10deg);background: #F59423;}
.caro-cnt { background: #02688a;padding: 15px 0 15px;color: white;}.caro-cnt p{ color: rgb(202, 202, 202); }



.karate-info-section {background: #dee2e6;padding: 60px 20px;font-family: 'Segoe UI', sans-serif;
.container {max-width: 1200px;margin: auto;}
.section-title {text-align: center;font-size: 2.5rem;margin-bottom: 40px;color: #1a1a1a;position: relative;
&::after {content: '';display: block;height: 4px;width: 60px;margin: 10px auto 0;background: #f59423;border-radius: 2px;}}
.disciplines-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));gap: 25px;margin-bottom: 60px;}
.discipline-card {background: #fff;padding: 25px 15px;text-align: center;font-weight: bold;border-radius: 12px;box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);transition: all 0.3s ease;font-size: 1.1rem;
&:hover {background: linear-gradient(135deg, #f59423, #f77f00);color: #fff;transform: translateY(-8px);}}
.belt-timeline {display: flex;flex-wrap: wrap;justify-content: center;gap: 12px;margin-bottom: 60px;}
.belt {padding: 14px 24px;border-radius: 50px;font-weight: bold;color: white;font-size: 0.95rem;box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);}
.white { background: #e0e0e0; color: #333; }.yellow { background: #f9d835; }.orange { background: #f77f00; }.green { background: #4caf50; }.blue { background: #2196f3; }.brown { background: #8b4513; }.black { background: #000; }
.testimonial-carousel {max-width: 700px;margin: auto;text-align: center;position: relative;
.testimonial {display: none;opacity: 0;transform: scale(0.9);transition: all 0.5s ease;}
.testimonial.active {display: block;opacity: 1;transform: scale(1);}
.testimonial-card {background: #fff;padding: 30px;border-radius: 15px;box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);animation: fadeInUp 0.6s ease;}
.profile-img {width: 90px;height: 90px;object-fit: cover;border-radius: 50%;margin-bottom: 15px;border: 4px solid #f59423;}
p {font-size: 1.2rem;font-style: italic;color: #444;margin-bottom: 10px;}
h4 {font-weight: 500;color: #333;}
.testimonial-nav {margin-top: 20px;
button {background: #02688a;color: #fff;border: none; padding: 10px 18px;font-size: 20px;border-radius: 10px;margin: 0 8px;cursor: pointer;transition: background 0.3s;&:hover {background: #f59423;}}}}}
@keyframes fadeInUp {
from {opacity: 0;transform: translateY(20px);}
to {opacity: 1;transform: translateY(0);}}
@media (max-width: 768px) {.karate-info-section .section-title {font-size: 1.8rem;}
.karate-info-section .belt {font-size: 0.85rem;padding: 10px 18px;}
.karate-info-section .testimonial-card {padding: 20px;}
.karate-info-section .testimonial-carousel p {font-size: 1rem;}}

.social-icons2 {margin-top: 1rem;display: flex;justify-content: center;gap: 12px;}
.social-icons2 .icon {width: 36px;height: 36px;background: #04ACEC; text-decoration: none; color: white;display: flex;align-items: center;justify-content: center;border-radius: 50%;font-size: 0.95rem;transition: transform 0.3s ease, background 0.3s ease;}
.social-icons2 .icon:hover {transform: scale(1.2) rotate(10deg);background: #F59423;}



/* classes/programs css starts here */
 
 .karate-classes {padding: 20px 0;}
.karate-classes h2{ padding-bottom: 10px;}
.karate-calendar h2{ padding-bottom: 10px;}
.programs-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));gap: 30px;}
.program-card {background: linear-gradient(135deg, #f59423, #bb6407);padding: 25px 20px;border-radius: 15px;box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);text-align: center;transition: transform 0.3s ease, box-shadow 0.3s ease;}
.program-card:hover {transform: translateY(-5px);box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);}
.program-card h3 {color: #fff;font-size: 1.6rem;margin-bottom: 10px;}
.program-card p {font-size: 1rem;color: #fff;}
.karate-calendar {padding: 5px 0;}
.karate-calendar #calendar {background-color: #fff;padding: 20px;border-radius: 15px;box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);}
@media (max-width: 768px) {h2 {font-size: 2rem;}.program-card {padding: 20px 15px;}.karate-calendar #calendar {padding: 15px;}}
.program-card h3 {color: #eefaff;}
.fc .fc-toolbar-title {color: #f59423;font-weight: 700;}
.fc .fc-button-primary {background-color: #f59423;border-color: #e48111;color: #fff;}
.fc .fc-button-primary:hover {background-color: #04ACEC;border-color: #f59423;}
.fc .fc-daygrid-event { background-color: #f59423;border: none;color: #fff;padding: 2px 4px;border-radius: 4px;font-size: 0.9rem;}
.fc .fc-daygrid-day-number , .fc .fc-col-header-cell-cushion {text-decoration: none; color: #04ACEC;}
.fc .fc-day-today {background-color: rgba(151, 185, 64, 0.2);}
.custom-tooltip {position: absolute;background: rgba(0, 0, 0, 0.9);color: #fff;padding: 12px;border-radius: 8px;max-width: 280px;font-size: 14px;z-index: 9999;display: none;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);}
.tooltip-content {display: flex;align-items: center;gap: 10px;}
.tooltip-image img {width: 100px;height: 100px;border-radius: 50%;object-fit: cover;border: 2px solid #fff;}
.tooltip-text {flex: 1;}
.tooltip-title {font-weight: 600;margin-bottom: 4px;font-size: 15px;}
.tooltip-body {font-size: 13px;line-height: 1.4;}
.tooltip-trainer {font-size: 13px;margin: 4px 0;color: #f59423;}@media (max-width: 768px) {
.fc .fc-button-group {font-size: 9px;}
.fc-direction-ltr .fc-toolbar > * > :not(:first-child) {margin-left: 0 !important;font-size: 12px;margin-top: 5px;}}
.calendar-filter {margin-bottom: 2px;display: flex;align-items: center;gap: 10px;flex-wrap: wrap;background-color: rgb(255, 255, 255);padding: 25px 25px;border-radius: 15px;}
.calendar-filter label {font-weight: 600;color: #333;font-size: 1rem;}
.calendar-filter select {padding: 8px 12px;border-radius: 6px;border: 1px solid #ccc;background-color: #fff;font-size: 1rem;color: #333;transition: border-color 0.3s ease;}
.calendar-filter select:focus {border-color: #f59423;outline: none;}
@media (max-width: 768px) {.calendar-filter {flex-direction: column;align-items: flex-start;}.fc .fc-toolbar {align-items: flex-start;}.calendar-filter label {margin-bottom: 5px;}.calendar-filter select {width: 100%;}}


/* coach details css */
.instructor-heading {font-size: 2.8rem;font-weight: 700;text-align: center;color: #222;margin-bottom: 2rem;position: relative;text-transform: uppercase;letter-spacing: 1px;padding-top: 40px;}
.instructor-heading span {color: #04acec; }
.instructor-heading i {color: #fbb034; margin-right: 10px;animation: pulse 1.5s infinite;}
.instructor-heading::after {content: "";display: block;width: 80px;height: 4px;background: linear-gradient(to right, #04acec, #fbb034);margin: 10px auto 0;border-radius: 2px;}
@keyframes pulse {0%, 100% {transform: scale(1);opacity: 1;}50% {transform: scale(1.2);opacity: 0.7;}}
.tree-container {max-width: 900px;margin: auto;background: #fff;padding: 2rem;border-radius: 12px;box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);}
.tree-container h1 {font-size: 1.8rem;margin-bottom: 1rem;color: #333;}
.tree {list-style-type: none;padding-left: 0;}
.tree li {margin: 0.5rem 0;}
details {background: #e8f0fe;padding: 0.8rem 1rem;border-radius: 8px;cursor: pointer;transition: background 0.3s;}
details[open] {background: #d2e3fc;}
details summary {font-weight: bold;color: #1a73e8;cursor: pointer;list-style: none;}
details ul {margin-top: 0.5rem;padding-left: 1.5rem;color: #333;}
details ul li {margin: 0.3rem 0;}
.coach-photo {width: 100px;height: 100px;background-color: #1a73e875;border-radius: 50%;object-fit: cover;margin-right: 10px;vertical-align: middle;}
summary {display: flex;align-items: center;gap: 10px;font-weight: bold;cursor: pointer;}


/* karate service offered */
.services-offered {padding: 4rem 1rem;background: #f9f9f9;background-image: url('../images/bg-offered.jpg');background-attachment: fixed;}
.services-offered .container {max-width: 1200px;margin: 0 auto;}
.services-offered .container h1 {text-align: center;color: #f59423;font-size: 2.5rem;margin-bottom: 3rem;position: relative;}
.services-offered .container h1::after {content: '';display: block;width: 60px;height: 4px;background: #f59423;margin: 0.5rem auto 0;border-radius: 2px;}
.services-offered .section {margin-bottom: 3rem;}
.services-offered .section h2 {font-size: 1.75rem;color: #333;margin-bottom: 1.5rem;border-left: 5px solid #f59423;padding-left: 1rem;}
.services-offered .section ul {list-style: none;padding-left: 0;}
.services-offered .section ul li {position: relative;padding-left: 2rem;margin-bottom: 0.75rem;}
.services-offered .section ul li::before {content: '🥋';position: absolute;left: 0;top: 0;}
.services-offered .section p {font-size: 1rem;color: #444;}
.services-offered .section p strong {color: #222;}
.services-offered .pricing-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));gap: 1.5rem;}
.services-offered .pricing-grid .price-card {background: #fff;border: 1px solid #ddd;padding: 1.5rem;border-radius: 15px;text-align: center;box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);transition: all 0.3s ease;}
.services-offered .pricing-grid .price-card:hover {transform: translateY(-5px);box-shadow: 0 12px 25px rgba(0, 0, 0, 0.1);}
.services-offered .pricing-grid .price-card h3 {color: #f59423;margin-bottom: 0.75rem;font-size: 1.25rem;}
.services-offered .pricing-grid .price-card p {font-size: 1rem;font-weight: bold;color: #444;}
.services-offered .join-section {text-align: center;margin-top: 3rem;}
.services-offered .join-section .slider-btn {background: linear-gradient(to right, #f59423, #f57c00);color: #fff;padding: 0.75rem 2rem;font-size: 1.1rem;border-radius: 30px;text-decoration: none;display: inline-block;box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);transition: background 0.3s ease, transform 0.3s ease;}
.services-offered .join-section .slider-btn:hover {background: linear-gradient(to right, #f57c00, #f59423);transform: translateY(-3px);}
.services-offered .programs-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));gap: 1.5rem;}
.services-offered .program-card {background: #fff;border: 1px solid #ddd;padding: 1.5rem;border-radius: 15px;text-align: center;box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);transition: all 0.3s ease;}
.services-offered .program-card:hover {transform: translateY(-5px);box-shadow: 0 12px 25px rgba(0, 0, 0, 0.1);}
.services-offered .program-card h3 {color: #f59423;font-size: 1.2rem;margin-bottom: 0.5rem;}
.services-offered .program-card p {font-size: 0.95rem;color: #555;}
@media (max-width: 600px) {
.services-offered {padding: 2rem 1rem;}
.services-offered .container h1 {font-size: 2rem;}
.services-offered .section h2 {font-size: 1.5rem;}
.services-offered .pricing-grid {grid-template-columns: 1fr;}}

 
