@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;500;600;700&display=swap');

:root{
   --main-color:#250fec;
   --red:#e7220c;
   --orange:#f39c12;
   --light-color:#aa9595;
   --light-bg:#eee;
   --black:#2c3e50;
   --white:#fff;
   --border:.1rem solid rgba(0,0,0,.2);
}

*{
   font-family: 'Nunito', sans-serif;
   margin:0; padding:0;
   box-sizing: border-box;
   outline: none; border:none;
   text-decoration: none;
}

*::selection{
   background-color: var(--main-color);
   color:#fff;
}

html{
   font-size: 62.5%;
   overflow-x: hidden;
}

html::-webkit-scrollbar{
   width: 1rem;
   height: .5rem;
}

html::-webkit-scrollbar-track{
   background-color: transparent;
}

html::-webkit-scrollbar-thumb{
   background-color: var(--main-color);
}

body{
   background-color: var(--light-bg);
   padding-left: 30rem;
}

body.dark{
   --light-color:#aaa;
   --light-bg:#333;
   --black:#fff;
   --white:#222;
   --border:.1rem solid rgba(255,255,255,.2);
}

body.active{
   padding-left: 0;
}

section{
   padding:2rem;
   margin: 0 auto;
   max-width: 1200px;
}

.heading{
   font-size: 2.5rem;
   color:var(--black);
   margin-bottom: 2.5rem;
   border-bottom: var(--border);
   padding-bottom: 1.5rem;
   text-transform: capitalize;
}

.inline-btn,
.inline-option-btn,
.inline-delete-btn,
.btn,
.delete-btn,
.option-btn{
   border-radius: .5rem;
   color:#fff;
   font-size: 1.8rem;
   cursor: pointer;
   text-transform: capitalize;
   padding:1rem 3rem;
   text-align: center;
   margin-top: 1rem;
}

.btn,
.delete-btn,
.option-btn{
   display: block;
   width: 100%;
}

.inline-btn,
.inline-option-btn,
.inline-delete-btn{
   display: inline-block;
}

.btn,
.inline-btn{
   background-color: var(--main-color);
}

.option-btn,
.inline-option-btn{
   background-color:var(--orange);
}

.delete-btn,
.inline-delete-btn{
   background-color: var(--red);
}

.inline-btn:hover,
.inline-option-btn:hover,
.inline-delete-btn:hover,
.btn:hover,
.delete-btn:hover,
.option-btn:hover{
   background-color: var(--black);
   color: var(--white);
}

.flex-btn{
   display: flex;
   gap: 1rem;
}

.header{
   position: sticky;
   top:0; left:0; right: 0;
   background-color: var(--white);
   z-index: 1000;
   border-bottom: var(--border);
}

.header .flex{
   display: flex;
   align-items: center;
   justify-content: space-between;
   position: relative;
   padding: 1.5rem 2rem;
}

.header .flex .logo{
   font-size: 2.5rem;
   color: var(--black);
}

.header .flex .search-form{
   width: 50rem;
   border-radius: .5rem;
   background-color: var(--light-bg);
   padding:1.5rem 2rem;
   display: flex;
   gap:2rem;

}

.header .flex .search-form input{
   width: 100%;
   font-size: 1.8rem;
   color:var(--black);
   background:none;
}

.header .flex .search-form button{
   background:none;
   font-size: 2rem;
   cursor: pointer;
   color:var(--black);
}

.header .flex .search-form button:hover{
   color: var(--main-color);
}

.header .flex .icons div{
   font-size: 2rem;
   color:var(--black);
   background-color: var(--light-bg);
   border-radius: .5rem;
   height: 4.5rem;
   width: 4.5rem;
   line-height: 4.5rem;
   cursor: pointer;
   text-align: center;
   margin-left: .7rem;
}

.header .flex .icons div:hover{
   background-color: var(--black);
   color:var(--white);
}

.header .flex .profile{
   position: absolute;
   top:120%; right: 2rem;
   background-color: var(--white);
   border-radius: .5rem;
   padding: 1.5rem;
   text-align: center;
   overflow: hidden;
   transform-origin: top right;
   transform: scale(0);
   transition: .2s linear;
   width: 30rem;
}

.header .flex .profile.active{
   transform: scale(1);
}

.header .flex .profile .image{
   height: 10rem;
   width: 10rem;
   border-radius: 50%;
   object-fit: contain;
   margin-bottom: 1rem;
}

.header .flex .profile .name{
   font-size: 2rem;
   color:var(--black);
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.header .flex .profile .role{
   font-size: 1.8rem;
   color: var(--light-color);
}

#search-btn{
   display: none;
}

.side-bar{
   position: fixed;
   top: 0; left: 0;
   width: 30rem;
   background-color: var(--white);
   height: 100vh;
   border-right: var(--border);
   z-index: 1200;
}

.side-bar #close-btn{
   text-align: right;
   padding: 2rem;
   display: none;
}

.side-bar #close-btn i{
   text-align: right;
   font-size: 2.5rem;
   background:var(--red);
   border-radius: .5rem;
   color:var(--white);
   cursor: pointer;
   height: 4.5rem;
   width: 4.5rem;
   line-height: 4.5rem;
   text-align: center;
}

.side-bar #close-btn i:hover{
   background-color: var(--black);
}

.side-bar .profile{
   padding:3rem 2rem;
   text-align: center;
}

.side-bar .profile .image{
   height: 10rem;
   width: 10rem;
   border-radius: 50%;
   object-fit: contain;
   margin-bottom: 1rem;
}

.side-bar .profile .name{
   font-size: 2rem;
   color:var(--black);
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.side-bar .profile .role{
   font-size: 1.8rem;
   color: var(--light-color);
}

.side-bar .navbar a{
   display: block;
   padding: 2rem;
   font-size: 2rem;
}

.side-bar .navbar a i{
   margin-right: 1.5rem;
   color:var(--main-color);
   transition: .2s linear;
}

.side-bar .navbar a span{
   color:var(--light-color);
}

.side-bar .navbar a:hover{
   background-color: var(--light-bg);
}

.side-bar .navbar a:hover i{
   margin-right: 2.5rem;
}

.side-bar.active{
   left: -30rem;
}

.home-grid .box-container{
   display: grid;
   grid-template-columns: repeat(auto-fit, 27.5rem);
   gap:1.5rem;
   justify-content: center;
   align-items: flex-start;
}

.home-grid .box-container .box{
   background-color: var(--white);
   border-radius: .5rem;
   padding:2rem;
}

.home-grid .box-container .box .title{
   font-size: 2rem;
   color: var(--black);
   text-transform: capitalize;
}

.home-grid .box-container .box .flex{
   display: flex;
   flex-wrap: wrap;
   gap: 1.5rem;
   margin-top: 2rem;
}

.home-grid .box-container .flex a{
   background-color: var(--light-bg);
   border-radius: .5rem;
   padding: 1rem 1.5rem;
   font-size: 1.5rem;
}

.home-grid .box-container .flex a i{
   margin-right: 1rem;
   color:var(--black);
}

.home-grid .box-container .flex a span{
   color:var(--light-color);
}

.home-grid .box-container .flex a:hover{
   background-color: var(--black);
}

.home-grid .box-container .flex a:hover span{
   color:var(--white);
}

.home-grid .box-container .flex a:hover i{
   color:var(--white);
}

.home-grid .box-container .tutor{
   padding: 1rem 0;
   font-size: 1.8rem;
   color:var(--light-color);
   line-height: 2;
}

.home-grid .box-container .likes{
   color:var(--light-color);
   font-size: 1.7rem;
   margin-top: 1.5rem;
}

.home-grid .box-container .likes span{
   color:var(--main-color);
}

.about .row{
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap:1.5rem;
}

.about .row .image{
   flex: 1 1 40rem;
}

.about .row .image img{
   width: 100%;
   height: 50rem;
}

.about .row .content{
   flex: 1 1 40rem;
}

.about .row .content p{
   font-size: 1.7rem;
   line-height: 2;
   color: var(--light-color);
   padding: 1rem 0;
}

.about .row .content h3{
   font-size: 3rem;
   color:var(--black);
   text-transform: capitalize;
}

.about .box-container{
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(27rem, 1fr));
   gap:1.5rem;
   justify-content: center;
   align-items: flex-start;
   margin-top: 3rem;
}

.about .box-container .box{
   border-radius: .5rem;
   background-color: var(--white);
   padding: 2rem;
   display: flex;
   align-items: center;
   gap: 2.5rem;
}

.about .box-container .box i{
   font-size: 4rem;
   color: var(--main-color);
}

.about .box-container .box h3{
   font-size: 2.5rem;
   color: var(--black);
   margin-bottom: .3rem;
}

.about .box-container .box p{
   font-size: 1.7rem;
   color:var(--light-color);
}

.reviews .box-container{
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
   gap:1.5rem;
   justify-content: center;
   align-items: flex-start;
}

.reviews .box-container .box{
   border-radius: .5rem;
   background-color: var(--white);
   padding: 2rem;
}

.reviews .box-container .box p{
   line-height: 1.7;
   font-size: 1.7rem;
   color: var(--light-color);
}

.reviews .box-container .box .student{
   margin-top: 2rem;
   display: flex;
   align-items: center;
   gap: 1.5rem;
}

.reviews .box-container .box .student img{
   height: 5rem;
   width: 5rem;
   object-fit: cover;
   border-radius: 50%;
}

.reviews .box-container .box .student h3{
   font-size: 2rem;
   color: var(--black);
   margin-bottom: .3rem;
}

.reviews .box-container .box .student .stars{
   font-size: 1.5rem;
   color:var(--orange);
}

.courses .box-container{
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
   gap:1.5rem;
   justify-content: center;
   align-items: flex-start;
}

.courses .box-container .box{
   border-radius: .5rem;
   background-color: var(--white);
   padding: 2rem;
}

.courses .box-container .box .tutor{
   display: flex;
   align-items: center;
   gap: 1.5rem;
   margin-bottom: 2.5rem;
}

.courses .box-container .box .tutor img{
   height: 5rem;
   width: 5rem;
   border-radius: 50%;
   object-fit: cover;
}

.courses .box-container .box .tutor h3{
   font-size: 1.8rem;
   color: var(--black);
   margin-bottom: .2rem;
}

.courses .box-container .box .tutor span{
   font-size: 1.3rem;
   color:var(--light-color);
}

.courses .box-container .box .thumb{
   position: relative;
}

.courses .box-container .box .thumb span{
   position: absolute;
   top:1rem; left: 1rem;
   border-radius: .5rem;
   padding: .5rem 1.5rem;
   background-color: rgba(0,0,0,.3);
   color: #fff;
   font-size: 1.5rem;
}

.courses .box-container .box .thumb img{
   width: 100%;
   height: 20rem;
   object-fit: cover;
   border-radius: .5rem;
}

.courses .box-container .box .title{
   font-size: 2rem;
   color: var(--black);
   padding-bottom: .5rem;
   padding-top: 1rem;
}

.courses .more-btn{
   text-align: center;
   margin-top: 2rem;
}

.user-profile .info{
   background-color: var(--white);
   border-radius: .5rem;
   padding: 2rem;
}

.user-profile .info .user{
   text-align: center;
   margin-bottom: 2rem;
   padding: 1rem;
}

.user-profile .info .user img{
   height: 10rem;
   width: 10rem;
   border-radius: 50%;
   object-fit: cover;
   margin-bottom: 1rem;
}

.user-profile .info .user h3{
   font-size: 2rem;
   color: var(--black);
}

.user-profile .info .user p{
   font-size: 1.7rem;
   color: var(--light-color);
   padding: .3rem 0;
}

.user-profile .info .box-container{
   display: flex;
   flex-wrap: wrap;
   gap: 1.5rem;
}

.user-profile .info .box-container .box{
   background-color: var(--light-bg);
   border-radius: .5rem;
   padding: 2rem;
   flex: 1 1 25rem;
}

.user-profile .info .box-container .box .flex{
   display: flex;
   align-items: center;
   gap: 2rem;
   margin-bottom: 1rem;
}

.user-profile .info .box-container .box .flex i{
   font-size:2rem;
   color: var(--white);
   background-color: var(--black);
   text-align: center;
   border-radius: .5rem;
   height: 5rem;
   width: 5rem;
   line-height: 4.9rem;
}

.user-profile .info .box-container .box .flex span{
   font-size: 2.5rem;
   color: var(--main-color);
}

.user-profile .info .box-container .box .flex p{
   color: var(--light-color);
   font-size: 1.7rem;
}

.contact .row{
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 1.5rem;
}

.contact .row .image{
   flex: 1 1 50rem;
}

.contact .row .image img{
   width: 100%;
}

.contact .row form{
   flex: 1 1 30rem;
   background-color: var(--white);
   padding: 2rem;
   text-align: center;
}

.contact .row form h3{
   margin-bottom: 1rem;
   text-transform: capitalize;
   color:var(--black);
   font-size: 2.5rem;
}

.contact .row form .box{
   width: 100%;
   border-radius: .5rem;
   background-color: var(--light-bg);
   margin: 1rem 0;
   padding: 1.4rem;
   font-size: 1.8rem;
   color: var(--black);
}

.contact .row form textarea{
   height: 20rem;
   resize: none;
}

.contact .box-container{
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
   gap:1.5rem;
   justify-content: center;
   align-items: flex-start;
   margin-top: 3rem;
}

.contact .box-container .box{
   text-align: center;
   background-color: var(--white);
   border-radius: .5rem;
   padding: 3rem;
}

.contact .box-container .box i{
   font-size: 3rem;
   color: var(--main-color);
   margin-bottom: 1rem;
}

.contact .box-container .box h3{
   font-size: 2rem;
   color:var(--black);
   margin: 1rem 0;
}

.contact .box-container .box a{
   display: block;
   padding-top: .5rem;
   font-size: 1.8rem;
   color: var(--light-color);
}

.contact .box-container .box a:hover{
   text-decoration: underline;
   color:var(--black);
}

.form-container{
   min-height: calc(100vh - 20rem);
   display: flex;
   align-items: center;
   justify-content: center;
}

.form-container form{
   background-color: var(--white);
   border-radius: .5rem;
   padding: 2rem;
   width: 50rem;
}

.form-container form h3{
   font-size: 2.5rem;
   text-transform: capitalize;
   color: var(--black);
   text-align: center;
}

.form-container form p{
   font-size: 1.7rem;
   color: var(--light-color);
   padding-top: 1rem;
}

.form-container form p span{
   color: var(--red);
}

.form-container form .box{
   font-size: 1.8rem;
   color: var(--black);
   border-radius: .5rem;
   padding: 1.4rem;
   background-color: var(--light-bg);
   width: 100%;
   margin: 1rem 0;
}






.footer{
   background-color: var(--white);
   border-top: var(--border);
   position: sticky;
   bottom: 0; left: 0; right: 0;
   text-align: center;
   font-size: 2rem;
   padding:2.5rem 2rem;
   color:var(--black);
   margin-top: 1rem;
   z-index: 1000;
   /* padding-bottom: 9.5rem; */
}

.footer span{
   color:var(--main-color);
}



@media (max-width:1200px){

   body{
      padding-left: 0;
   }

   .side-bar{
      left: -30rem;
      transition: .2s linear;
   }

   .side-bar #close-btn{
      display: block;
   }

   .side-bar.active{
      left: 0;
      box-shadow: 0 0 0 100vw rgba(0,0,0,.8);
      border-right: 0;
   }

}

@media (max-width:991px){

   html{
      font-size: 55%;
   }

}

@media (max-width:768px){

   #search-btn{
      display: inline-block;
   }

   .header .flex .search-form{
      position: absolute;
      top: 99%; left: 0; right: 0;
      border-top: var(--border);
      border-bottom: var(--border);
      background-color: var(--white);
      border-radius: 0;
      width: auto;
      padding: 2rem;
      clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
      transition: .2s linear;
   }

   .header .flex .search-form.active{
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
   }

}

@media (max-width:450px){

   html{
      font-size: 50%;
   }

   .flex-btn{
      gap: 0;
      flex-flow: column;
   }

   .home-grid .box-container{
      grid-template-columns: 1fr;
   }

   .about .row .image img{
      height: 25rem;
   }

}
#intro iframe {
   max-width: 100%;
   height: auto;
}
 /* Basic styling for the adverts page */
 body {
   font-family: Arial, sans-serif;
   margin: 20px;
   background-color: #f9f9f9;
}
h1 {
   color: #333;
}
.ad-container {
   background: #fff;
   border: 1px solid #ddd;
   border-radius: 5px;
   padding: 15px;
   margin-bottom: 20px;
   display: flex;
   align-items: center;
   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.ad-image {
   max-width: 200px;
   margin-right: 15px;
   border-radius: 5px;
}
.ad-content {
   flex: 1;
}
.ad-title {
   font-size: 1.5em;
   color: #0066cc;
}
.ad-description {
   margin-top: 10px;
}
.ad-link {
   display: inline-block;
   margin-top: 10px;
   text-decoration: none;
   color: #0066cc;
}
.ad-link:hover {
   text-decoration: underline;
}
@media (max-width: 600px) {
   .ad-container {
     width: 100%;
     /* Adjust styles for mobile */
   }
 }
 @media (min-width: 601px) {
   .ad-container {
     width: 50%;
     /* Adjust styles for larger screens */
   }
 }
 
.circle-box {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f4f6f9;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  padding: 10px;
  text-align: center;
  overflow: hidden;
}

.circle-box:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.25);
}

.circle-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 100%; /* Makes scaling smoother */
  text-align: center;
}

.circle-content i {
  font-size: 1.5rem;
  margin-bottom: 6px;
  color: #333;
}

/* 🌟 AUTO-SCALING FONT */
.category-item {
  font-size: clamp(0.6rem, 1.5vw, 0.9rem); /* Adjusts with screen size */
  font-weight: 600;
  color: #0c0c0c;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 100px;
  text-align: center;
}
.circle-box {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background-color: #f4f6f9;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  text-align: center;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.circle-box:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.25);
}

.circle-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  max-width: 90%;
  line-height: 1.1;
}

.circle-content i {
  font-size: 1.5rem;
  margin-bottom: 6px;
  color: #333;
}

.category-item {
  font-size: 0.78rem;
  font-weight: 600;
  color: #0c0c0c;
  white-space: normal; /* allow breaking */
  word-break: break-word;
  line-height: 1.2;
  max-width: 100px;
  text-align: center;
  display: inline-block;
}
.quote-slider {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(90deg, #007bff 0%, #00c6ff 100%);
  color: #fff;
  padding: 30px 20px;
  margin: 30px auto;
  border-radius: 20px;
  max-width: 900px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  font-family: 'Georgia', serif;
  user-select: none;
  gap: 20px;
  flex-wrap: wrap;
  box-sizing: border-box;
  width: 95%; /* fits nicely with margin on all screens */
}

.nav-btn {
  background: transparent;
  border: none;
  color: white;
  font-size: 2.5rem;
  cursor: pointer;
  padding: 0 15px;
  transition: color 0.3s ease;
  flex-shrink: 0;
}

.nav-btn:hover {
  color: #ffd700;
}

.quote-container {
  flex: 1 1 60%;
  text-align: center;
  padding: 0 15px;
  min-width: 260px;
  max-width: 600px;
  box-sizing: border-box;
}

.quote-text {
  font-size: clamp(1.2rem, 2vw, 1.8rem);
  font-style: italic;
  margin-bottom: 15px;
  opacity: 0;
  line-height: 1.4;
  word-break: keep-all;
  hyphens: manual;
  white-space: normal;
  max-width: 100%;
}

.quote-author {
  font-size: clamp(1rem, 1.5vw, 1.3rem);
  font-weight: 700;
  opacity: 0;
  color: #f0e68c;
  user-select: text;
}

.fade-in {
  animation: fadeIn 1s forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive tweaks */
@media (max-width: 768px) {
  .quote-slider {
    flex-direction: column;
    padding: 25px 15px;
  }

  .nav-btn {
    font-size: 2rem;
    padding: 10px 0;
  }

  .quote-container {
    flex: none;
    width: 100%;
    max-width: 100%;
    padding: 10px 0;
  }
}
/* === QUOTE SLIDER STYLING === */
.quote-slider {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(90deg, #007bff 0%, #00c6ff 100%);
  color: #fff;
  padding: 30px 20px;
  margin: 30px auto;
  border-radius: 20px;
  max-width: 900px;
  width: 95%;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  font-family: 'Georgia', serif;
  user-select: none;
  gap: 20px;
  flex-wrap: wrap;
  box-sizing: border-box;
}

.nav-btn {
  background: transparent;
  border: none;
  color: white;
  font-size: 2.5rem;
  cursor: pointer;
  padding: 0 15px;
  transition: color 0.3s ease;
  flex-shrink: 0;
}

.nav-btn:hover {
  color: #ffd700;
}

.quote-container {
  flex: 1 1 60%;
  text-align: center;
  padding: 0 25px;
  min-width: 260px;
  max-width: 600px;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
  white-space: normal;
}

.quote-text {
  font-size: clamp(1.2rem, 2vw, 1.8rem);
  font-style: italic;
  margin-bottom: 15px;
  opacity: 0;
  line-height: 1.4;
  word-break: break-word;
  hyphens: auto;
  white-space: normal;
  max-width: 100%;
  overflow-wrap: break-word;
}

.quote-author {
  font-size: clamp(1rem, 1.5vw, 1.3rem);
  font-weight: 700;
  opacity: 0;
  color: #f0e68c;
  user-select: text;
}

.fade-in {
  animation: fadeIn 1s forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .quote-slider {
    flex-direction: column;
    padding: 25px 15px;
  }

  .nav-btn {
    font-size: 2rem;
    padding: 10px 0;
  }

  .quote-container {
    flex: none;
    width: 100%;
    max-width: 100%;
    padding: 10px 0;
  }
}
/* Default light mode styles (already in your CSS) */

/* Add these dark mode overrides */
body.dark {
  background-color: #121212; /* Very dark gray */
  color: #f0f0f0;            /* Light text for readability */
}

/* Optional: Make sure all containers and sections adapt */
body.dark .quote-slider,
body.dark .category-container,
body.dark .circle-box,
body.dark .quote-container,
body.dark .service-section,
body.dark .contact-container,
body.dark .product-card {
  background-color: #1e1e1e;
  border-color: #333;
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.05);
}

/* Adjust button/link colors for dark mode */
body.dark a {
  color: #4da6ff;
}

body.dark a:hover {
  color: #66ccff;
}

body.dark .nav-btn {
  color: #f0f0f0;
}

/* Prevent dark mode from affecting images */
body.dark img {
  filter: none;
}

/* Prevent invert on icons if using font-awesome or similar */
body.dark i {
  color: #f0f0f0;
}
.quote-slider {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  background: #ffffff;
  border: 2px solid #007bff;
  border-radius: 16px;
  padding: 30px 20px;
  margin: 40px auto;
  max-width: 900px;
  width: 90%;
  box-shadow: 0 10px 25px rgba(0, 123, 255, 0.15);
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
  overflow: hidden;
}

.nav-btn {
  background-color: transparent;
  border: none;
  color: #007bff;
  font-size: 2.5rem;
  cursor: pointer;
  transition: color 0.3s ease, transform 0.3s ease;
  flex-shrink: 0;
}

.nav-btn:hover {
  color: #0056b3;
  transform: scale(1.2);
}

.quote-container {
  flex: 1;
  text-align: center;
  padding: 0 20px;
  box-sizing: border-box;
  min-width: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.quote-text {
  font-size: clamp(1rem, 2.5vw, 1.8rem);
  font-style: italic;
  color: #333;
  margin-bottom: 15px;
  line-height: 1.6;
  word-break: break-word;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.7s ease;
}

.quote-author {
  font-size: clamp(0.9rem, 2vw, 1.2rem);
  font-weight: 600;
  color: #007bff;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.7s ease 0.1s;
}

.fade-in.quote-text,
.fade-in.quote-author {
  opacity: 1;
  transform: translateY(0);
}

/* Responsive Fix */
@media (max-width: 768px) {
  .quote-slider {
    flex-direction: column;
    padding: 20px 15px;
  }

  .nav-btn {
    font-size: 2rem;
    margin: 10px 0;
  }

  .quote-container {
    padding: 0 10px;
  }

  .quote-text {
    font-size: 1.1rem;
  }
}
.circle-box {
  width: 160px; /* Increased from default */
  height: 160px;
}

.category-item i {
  font-size: 2.2rem; /* Bigger icon */
  margin-bottom: 8px;
}

.category-item span {
  font-size: 1.3rem; /* Bigger text label */
  font-weight: bold;
}
.subheading {
  font-size: 1.5rem; /* You can increase this to 1.8rem or 2rem if needed */
  color: #555;
  margin-top: -10px;
  text-align: center;
  font-weight: 500;
}
.subheading {
  font-size: 1.5rem; /* You can increase this to 1.8rem or 2rem if needed */
  color: #555;
  margin-top: -10px; 
  text-align: center;
  font-weight: 500;
}
.heading {
  font-family: 'Poppins', sans-serif; /* modern, flexible font */
  font-size: 4rem;
  font-weight: 700;
  color: #1e90ff;
  text-align: center;
  animation: flexPulse 3s ease-in-out infinite;
  margin: 20px 0 10px 0;
}

@keyframes flexPulse {
  0%, 100% {
    transform: scale(1);
    color: #1e90ff;
    text-shadow: 0 0 5px #1e90ff;
  }
  50% {
    transform: scale(1.1);
    color: #104e8b;
    text-shadow: 0 0 15px #104e8b;
  }
}

.subheading {
  font-family: 'Courier New', Courier, monospace; /* classic typewriter font */
  font-size: 1.8rem;
  color: #555;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  border-right: 3px solid #555; /* cursor effect */
  width: 0;
  animation: typing 4s steps(40, end) forwards, blinkCaret 0.75s step-end infinite;
  margin: 0 auto 30px auto;
  max-width: 100%;
  box-sizing: border-box;
}

/* typing effect */
@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

/* blinking caret */
@keyframes blinkCaret {
  50% {
    border-color: transparent;
  }
  100% {
    border-color: #555;
  }
}
border-right: none;
.subheading {
  font-family: 'Courier New', Courier, monospace;
  font-size: 2.5rem;
  color: #555;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  margin: 0 auto 30px auto;
  max-width: 100%;
  box-sizing: border-box;
  animation: flexPulse 3s ease-in-out infinite; /* only flexing animation */
  border-right: none;  /* no border line */
}
<style>
  .heading {
    font-family: 'Poppins', sans-serif;
    font-size: 4rem;
    font-weight: 700;
    color: #1e90ff;
    text-align: center;
    animation: flexPulse 3s ease-in-out infinite;
    margin: 20px 0 10px 0;
  }

  @keyframes flexPulse {
    0%, 100% {
      transform: scale(1);
      color: #1e90ff;
    }
    50% {
      transform: scale(1.1);
      color: #104e8b;
    }
  }

  .subheading {
    font-family: 'Courier New', Courier, monospace;
    font-size: 2.5rem;
    color: #555;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    margin: 0 auto 30px auto;
    max-width: 100%;
    box-sizing: border-box;
    animation: flexPulse 3s ease-in-out infinite;
    border-right: none;
  }
</style>
.heading {
  font-family: 'Poppins', sans-serif;
  font-size: 4rem;
  font-weight: 700;
  color: #1e90ff;
  text-align: center;
  animation: flexPulse 3s ease-in-out infinite;
  margin: 20px 0 10px 0;
}

.subheading {
  font-family: 'Courier New', Courier, monospace;
  font-size: 2.5rem;
  color: #555;
  text-align: center;
  animation: flexPulseSub 3s ease-in-out infinite;
  margin: 0 auto 30px auto;
  white-space: normal;
  overflow: visible;
  width: auto;
}

@keyframes flexPulse {
  0%, 100% {
    transform: scale(1);
    color: #1e90ff;
  }
  50% {
    transform: scale(1.1);
    color: #104e8b;
  }
}

@keyframes flexPulseSub {
  0%, 100% {
    transform: scale(1);
    color: #555;
  }
  50% {
    transform: scale(1.05);
    color: #333;
  }
}
text-decoration: none;
.subheading {
  font-family: 'Courier New', Courier, monospace;
  font-size: 2.5rem;
  color: #555;
  text-align: center;
  animation: flexPulseSub 3s ease-in-out infinite;
  margin: 0 auto 30px auto;
  white-space: normal;
  overflow: visible;
  width: auto;
  border: none;         /* no border at all */
  border-right: none;   /* just in case */
  box-shadow: none;     /* remove any shadow that might look like a line */
}
/* Container that holds the game */
.game-container {
  display: flex;              /* flex layout */
  flex-direction: column;     /* stack vertically */
  align-items: center;        /* center horizontally */
  justify-content: center;    /* center vertically */
  padding: 1rem;              /* some padding */
  margin: auto;
  max-width: 100vw;           /* full viewport width */
  height: 100vh;              /* full viewport height */
  box-sizing: border-box;
  background-color: #0a3d99; /* example background color */
  color: white;
}

/* Responsive font sizing */
.game-title {
  font-size: clamp(1.5rem, 4vw, 3rem); /* scales between 1.5rem and 3rem */
  margin-bottom: 1rem;
  font-weight: bold;
}

/* Game board or main play area */
.game-board {
  width: 90vw;         /* take 90% of viewport width */
  max-width: 600px;    /* max width for big screens */
  height: auto;
  aspect-ratio: 1 / 1; /* keep square shape */
  background: #134a8a;
  border-radius: 15px;
  display: flex;
  flex-wrap: wrap;     /* for grid of items */
  gap: 1rem;
  padding: 1rem;
  box-sizing: border-box;
}

/* Each game item (like balls, tiles, cards) */
.game-item {
  flex: 1 1 calc(25% - 1rem); /* 4 items per row with gaps */
  aspect-ratio: 1 / 1;        /* square shape */
  background: #1e90ff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1rem, 2vw, 1.5rem);
  color: white;
  cursor: pointer;
  user-select: none;
  transition: transform 0.3s ease;
}

.game-item:hover {
  transform: scale(1.1);
}
.about-btn {
  background-color: #0a3d99;
  color: white;
  border: 2px solid white;
  padding: 6px 12px;
  margin-left: 10px;
  cursor: pointer;
  font-weight: 600;
  border-radius: 5px;
  transition: background-color 0.3s ease;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.about-btn:hover {
  background-color: white;
  color: #0a3d99;
}
/* About button style */
.about-btn {
  background-color: #0a3d99;
  color: white;
  border: 2px solid white;
  padding: 6px 12px;
  margin-left: 10px;
  cursor: pointer;
  font-weight: 600;
  border-radius: 5px;
  transition: background-color 0.3s ease;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.about-btn:hover {
  background-color: white;
  color: #0a3d99;
}

/* Modal overlay */
#aboutModal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0; top: 0; width: 100%; height: 100%;
  background-color: rgba(0,0,0,0.6);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Modal content */
#aboutModal .modal-content {
  background: white;
  color: #0a3d99;
  max-width: 450px;
  margin: 10% auto;
  padding: 20px 30px;
  border-radius: 10px;
  position: relative;
  box-shadow: 0 0 15px rgba(10, 61, 153, 0.4);
}

/* Close button */
#aboutModal .close-btn {
  position: absolute;
  top: 8px;
  right: 15px;
  font-size: 22px;
  font-weight: bold;
  color: #0a3d99;
  cursor: pointer;
  user-select: none;
}
#aboutModal .close-btn:hover {
  color: #06316e;
}

<style>
  /* About button style */
  .about-btn {
    background-color: #0a3d99;
    color: white;
    border: 2px solid white;
    padding: 6px 12px;
    margin-left: 10px;
    cursor: pointer;
    font-weight: 600;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  }
  .about-btn:hover {
    background-color: white;
    color: #0a3d99;
  }

  /* Modal overlay */
  #aboutModal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0; top: 0; width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.6);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  }

  /* Modal content */
  #aboutModal .modal-content {
    background: white;
    color: #0a3d99;
    max-width: 450px;
    margin: 10% auto;
    padding: 20px 30px;
    border-radius: 10px;
    position: relative;
    box-shadow: 0 0 15px rgba(10, 61, 153, 0.4);
  }

  /* Close button */
  #aboutModal .close-btn {
    position: absolute;
    top: 8px;
    right: 15px;
    font-size: 22px;
    font-weight: bold;
    color: #0a3d99;
    cursor: pointer;
    user-select: none;
  }
  #aboutModal .close-btn:hover {
    color: #06316e;
  }
</style>

<style>
  /* About button style */
  .about-btn {
    background-color: #0a3d99;
    color: white;
    border: 2px solid white;
    padding: 6px 12px;
    margin-left: 10px;
    cursor: pointer;
    font-weight: 600;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  }
  .about-btn:hover {
    background-color: white;
    color: #0a3d99;
  }

  /* Modal overlay */
  #aboutModal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0; top: 0; width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.6);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  }

  /* Modal content with bigger, clearer font */
  #aboutModal .modal-content {
    background: white;
    color: #0a3d99;
    max-width: 500px;
    margin: 10% auto;
    padding: 25px 35px;
    border-radius: 12px;
    position: relative;
    box-shadow: 0 0 20px rgba(10, 61, 153, 0.5);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 18px;
    line-height: 1.5;
  }

  #aboutModal .modal-content h2 {
    font-size: 28px;
    margin-bottom: 15px;
    font-weight: 700;
  }

  #aboutModal .modal-content p {
    margin-bottom: 1em;
  }

  /* Close button */
  #aboutModal .close-btn {
    position: absolute;
    top: 8px;
    right: 15px;
    font-size: 22px;
    font-weight: bold;
    color: #0a3d99;
    cursor: pointer;
    user-select: none;
  }
  #aboutModal .close-btn:hover {
    color: #06316e;
  }
</style>