/* ========== VIDEO (COURSES STYLE) ========== */
.video-wrap {
  display: block;
  margin: 0 auto 35px;
  width: 90%;
  max-width: 850px;
  aspect-ratio: 16/9;
  height: auto;
  border-radius: 20px;
  overflow: hidden;
  border: 3px solid rgba(27, 63, 216, 0.08);
  box-shadow: 0 12px 36px rgba(27, 63, 216, 0.12);
  transition: all 0.3s ease;
}

.video-wrap:hover {
  border-color: rgba(27, 63, 216, 0.25);
  box-shadow: 0 16px 48px rgba(27, 63, 216, 0.2);
  transform: translateY(-2px);
}

.video-wrap iframe {
  width: 100%;
  height: 100%;
  border: none;
}
 *,
 *::before,
 *::after {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
 }

 :root {
   --blue: #1B3FD8;
   --blue-dark: #1530B0;
   --blue-light: #2B52F5;
   --gold: #F5C518;
   --white: #ffffff;
   --gray-bg: #F4F6FB;
   --text-dark: #111;
 }

 body {
   font-family: 'Cairo', sans-serif;
   background: var(--white);
   color: var(--text-dark);
   overflow-x: hidden;
 }

 /* ========== NAVBAR ========== */
 nav {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 10px 16px;
   background: #fff;
   box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
   position: sticky;
   top: 0;
   z-index: 100;
 }

 .nav-logo img {
   width: 65px;
   height: 55px;
   object-fit: contain;
 }

 /* Desktop nav links - hidden on mobile */
 .nav-links {
   display: flex;
   align-items: center;
   gap: 32px;
   list-style: none;
 }

 .nav-links a {
   text-decoration: none;
   color: var(--text-dark);
   font-weight: 700;
   font-size: 15px;
   transition: color 0.2s;
 }

 .nav-links a:hover {
   color: var(--blue);
 }

 .nav-links a.active {
   color: var(--blue);
   border-bottom: 2px solid var(--blue);
   padding-bottom: 2px;
 }

 .nav-actions {
   display: flex;
   align-items: center;
   gap: 8px;
 }

 .btn-register {
   background: var(--blue);
   color: #fff;
   border: none;
   padding: 8px 20px;
   border-radius: 25px;
   font-family: 'Cairo', sans-serif;
   font-size: 14px;
   font-weight: 700;
   cursor: pointer;
   transition: background 0.2s;
 }

 .btn-register:hover {
   background: var(--blue-dark);
 }

 .dropdown {
   position: relative;
 }

 .dropdown-menu {
   position: absolute;
   top: 100%;
   right: 0;
   background: #fff;
   list-style: none;
   padding: 10px 0;
   margin: 0;
   width: 180px;
   border-radius: 10px;
   box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);

   opacity: 0;
   visibility: hidden;
   transform: translateY(10px);
   transition: 0.3s;
 }

 .dropdown-menu li {
   padding: 8px 16px;
 }

 .dropdown-menu a {
   color: #333;
   font-weight: 600;
   display: block;
 }

 .dropdown-menu a:hover {
   color: var(--blue);
 }

 /* Show on hover */
 .dropdown:hover .dropdown-menu {
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
 }


 /* Hamburger */
 .hamburger {
   display: none;
   flex-direction: column;
   gap: 5px;
   cursor: pointer;
   padding: 6px;
   border-radius: 6px;
   background: #f0f0f0;
 }

 .hamburger span {
   width: 22px;
   height: 2.5px;
   background: #444;
   border-radius: 2px;
   display: block;
   transition: all 0.3s;
 }

 /* Mobile Menu */
 .mobile-menu {
   display: none;
   flex-direction: column;
   background: #fff;
   border-bottom: 2px solid #eee;
   max-height: 0;
   overflow: hidden;
   transition: max-height 0.35s ease, padding 0.3s;
 }

 .mobile-menu.open {
   max-height: 900px;
   overflow-y: auto;
   padding: 8px 0 16px;
 }

 .mobile-menu a {
   text-decoration: none;
   color: var(--text-dark);
   font-weight: 700;
   font-size: 15px;
   padding: 12px 20px;
   border-bottom: 1px solid #f0f0f0;
   display: block;
   transition: background 0.2s, color 0.2s;
   font-family: 'Cairo', sans-serif;
 }

 .mobile-menu a:last-child {
   border-bottom: none;
 }

 .mobile-menu a:hover,
 .mobile-menu a.active {
   color: var(--blue);
   background: #f4f6fb;
 }

 /* ========== HERO ========== */
 .hero {
   min-height: 420px;
   display: flex;
   align-items: center;
   position: relative;
   overflow: hidden;
   padding: 40px 90px 0;
   gap: 220px;
 }



 .hero-text img {
   width: 650px;
   height: 400px;
   object-fit: contain;
 }

 .hero-image {
   flex: 0 0 340px;
   text-align: center;
   align-self: flex-end;
   z-index: 2;
 }

 .hero-image img {
   width: 450px;
   object-fit: cover;
   border-radius: 16px 16px 0 0;
 }


 /* ========== CATEGORIES BAR ========== */
 .categories-bar {
   background: var(--blue);
   padding: 14px 48px;
   margin-bottom: 25px;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 70px;
 }

 .cat-item {
   color: #fff;
   font-size: 25px;
   font-weight: 700;
   display: flex;
   align-items: center;
   gap: 10px;
 }

 .cat-item .star {
   color: var(--white);
   font-size: 18px;
 }

 /* ========== SECTION TITLE ========== */
 .section-title-wrap {
   text-align: center;
   padding: 36px 20px 24px;
   position: relative;
   /* background: var(--blue); */
   margin-bottom: 35px;
 }

 .section-title-wrap h2 {
   font-size: 24px;
   font-weight: 900;
   color: var(--white);
   position: relative;
   display: inline-block;
 }

 .section-title-wrap h2::after {
   content: '';
   display: block;
   width: 60px;
   height: 3px;
   background: var(--white);
   margin: 8px auto 0;
   border-radius: 2px;
 }

 .section-title-wrap-home {
   text-align: center;
   padding: 36px 20px 24px;
   position: relative;
   background: var(--blue);
   margin-bottom: 35px;
 }

 .section-title-wrap-home h2 {
   font-size: 24px;
   font-weight: 900;
   color: var(--white);
   position: relative;
   display: inline-block;
 }

 .section-title-wrap-home h2::after {
   content: '';
   display: block;
   width: 60px;
   height: 3px;
   background: var(--white);
   margin: 8px auto 0;
   border-radius: 2px;
 }

 /* ========== FACULTY SLIDER ========== */
 .faculty-section {
   background: var(--gray-bg);
   padding: 0 0 48px;
 }

 .faculty-section .section-title-wrap {
   background: var(--blue);
   padding: 20px;
   margin-bottom: 32px;
 }

 .faculty-section .section-title-wrap h2 {
   color: #fff;
 }

 .faculty-section .section-title-wrap h2::after {
   background: var(--white);
 }

 .slider-container {
   position: relative;
   overflow: hidden;
   padding: 0 48px;
 }

 .slider-track {
   display: flex;
   gap: 20px;
   transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 }

 .faculty-card {
   flex: 0 0 calc(33.333% - 14px);
   background: #1f0ad6;
   border-radius: 16px;
   padding: 28px 20px 24px;
   text-align: center;
   border: 2px solid transparent;
   transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
   box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07);
 }

 .faculty-avatar {
   width: 90px;
   height: 90px;
   border-radius: 50%;
   object-fit: cover;
   margin: 0 auto 16px;
   display: block;
   border: 3px solid #e8eeff;
 }

 .avatar-placeholder img {
   width: 100px;
   height: 100%;
   border-radius: 50%;
 }



 .faculty-name {
   font-size: 18px;
   font-weight: 800;
   margin-bottom: 6px;
   color: #ffffff;
 }

 .faculty-role {
   font-size: 13px;
   font-weight: 600;
   color: #ffffff;
   line-height: 1.5;
 }



 .slider-arrow {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   width: 40px;
   height: 40px;
   background: var(--blue);
   color: #fff;
   border: none;
   border-radius: 50%;
   font-size: 18px;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   z-index: 10;
   box-shadow: 0 2px 12px rgba(27, 63, 216, 0.3);
   transition: background 0.2s;
 }

 .slider-arrow:hover {
   background: var(--blue-dark);
 }

 .slider-arrow.prev {
   right: 8px;
 }

 .slider-arrow.next {
   left: 8px;
 }

 .slider-dots {
   display: flex;
   justify-content: center;
   gap: 8px;
   margin-top: 24px;
 }

 .slider-dot {
   width: 10px;
   height: 10px;
   border-radius: 50%;
   background: #ccc;
   cursor: pointer;
   transition: background 0.2s, transform 0.2s;
 }

 .slider-dot.active {
   background: var(--blue);
   transform: scale(1.3);
 }

 .video-section {
  background: #fff;
  padding: 40px 20px 60px;
}

.video-wrapper {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;

  aspect-ratio: 16 / 9;

  border-radius: 20px;
  overflow: hidden;

  box-shadow:
    0 10px 30px rgba(0,0,0,.12),
    0 0 25px rgba(27, 63, 216, .25);

  transition: all .3s ease;
}

.video-wrapper:hover {
  transform: translateY(-4px);
  box-shadow:
    0 15px 40px rgba(0,0,0,.18),
    0 0 35px rgba(27, 63, 216, .35);
}

.video-wrapper iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.section-title-wrap {
  text-align: center;
  margin-bottom: 25px;
}

.section-title-wrap h2 {
  font-size: 28px;
  font-weight: 700;
  color: #ffffff;
}
 /* ========== FOOTER ========== */
 footer {
   background: var(--blue);
   padding: 28px 48px;
   text-align: center;
 }

 .footer-logo {
   margin-bottom: 20px;
 }

 .footer-logo img {
   height: 60px;
   width: auto;
   object-fit: contain;
 }

 .footer-logo-fallback {
   display: inline-block;
   margin-bottom: 6px;
 }

 .footer-logo-fallback svg {
   width: 52px;
   height: 52px;
 }

 .footer-logo-text {
   color: #fff;
   font-size: 13px;
   font-weight: 700;
   font-family: 'Cairo', sans-serif;
 }

 .footer-partners {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 50px;
   flex-wrap: wrap;
 }

 .partner-badge {
   background: rgba(255, 255, 255, 0.12);
   border: 1.5px solid rgba(255, 255, 255, 0.25);
   border-radius: 28px;
   padding: 8px 18px;
   display: flex;
   align-items: center;
   gap: 8px;
   color: #fff;
   font-size: 13px;
   font-weight: 700;
   font-family: 'Cairo', sans-serif;
 }

 .badge-icon {
   width: 30px;
   height: 30px;
   background: rgba(255, 255, 255, 0.2);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: hidden;
   flex-shrink: 0;
 }

 .badge-icon img {
   width: 100%;
   height: 100%;
   object-fit: contain;
 }

 .badge-icon-text {
   font-size: 14px;
   color: #fff;
 }

 /* ================================================
     MOBILE RESPONSIVE
     ================================================ */

 @media (max-width: 768px) {

   /* --- NAVBAR --- */
   nav {
     padding: 10px 14px;
   }

   .nav-logo img {
     width: 60px;
     height: 52px;
   }

   .nav-links {
     display: none;
   }

   .nav-dots {
     display: none;
   }

   .hamburger {
     display: flex;
   }

   .btn-register {
     padding: 7px 16px;
     font-size: 13px;
   }

   /* --- HERO --- */
   .hero {
     flex-direction: column;
     min-height: unset;
     padding: 24px 16px 0;
     gap: 20px;
     align-items: center;
     text-align: center;
   }


   .hero-text img {
     width: 100%;
     height: auto;
     max-width: 320px;
   }

   .hero-badge {
     font-size: 16px;
     padding: 8px 16px;
   }

   .hero-sub {
     font-size: 15px;
   }

   .hero-image {
     flex: none;
     width: 100%;
     align-self: center;
   }

   .hero-image img {
     width: 100%;
     max-width: 280px;
     border-radius: 12px 12px 0 0;
   }

   .student-placeholder {
     width: 200px;
     height: 220px;
     margin: 0 auto;
   }

   /* --- CATEGORIES BAR --- */
   .categories-bar {
     padding: 12px 16px;
     gap: 0;
     flex-wrap: wrap;
     justify-content: space-around;
     row-gap: 8px;
   }

   .cat-item {
     font-size: 14px;
     gap: 6px;
   }

   /* --- SECTION TITLE --- */
   .section-title-wrap {
     padding: 18px 16px;
     margin-bottom: 20px;
   }

   .section-title-wrap h2 {
     font-size: 17px;
   }

   /* --- FACULTY SLIDER --- */
   .slider-container {
     padding: 0 44px;
   }

   .faculty-card {
     flex: 0 0 100%;
     padding: 22px 16px 20px;
   }

   .faculty-name {
     font-size: 16px;
   }

   .faculty-role {
     font-size: 12px;
   }

   .slider-arrow {
     width: 34px;
     height: 34px;
     font-size: 15px;
   }

   .slider-dots {
     margin-top: 16px;
   }

   /* --- VIDEO SECTION --- */
   .video-section {
     padding: 0 0 32px;
   }

   .video-wrapper {
     width: calc(100% - 32px);
     height: 200px;
     margin: 0 16px;
   }

   .play-btn {
     width: 60px;
     height: 60px;
   }

   .play-btn::after {
     border-width: 13px 0 13px 22px;
     margin-right: -4px;
   }

   /* --- FOOTER --- */
   footer {
     padding: 20px 14px;
   }

   .footer-logo img {
     height: 48px;
   }

   .footer-partners {
     gap: 10px;
     flex-direction: column;
     align-items: center;
   }

   .partner-badge {
     font-size: 13px;
     padding: 8px 16px;
     width: 100%;
     max-width: 240px;
     justify-content: center;
   }
 }

 /* شاشات صغيرة جداً */
 @media (max-width: 380px) {
   .cat-item {
     font-size: 12px;
   }

   .faculty-name {
     font-size: 14px;
   }

   .btn-register {
     padding: 6px 12px;
     font-size: 12px;
   }

   .section-title-wrap h2 {
     font-size: 15px;
   }
 }

 /* ================================================
     TOUR GUIDE STYLES
     ================================================ */
 /* ========== CHATBOT BUTTON ========== */
 #chatbotBtn {
   position: fixed;
   right: 30px;
   bottom: 130px;
   width: 85px;
   height: 85px;
   opacity: 0.9;
   border-radius: 50%;
   cursor: pointer;
   transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
   z-index: 3000;
   box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
   border: 4px solid #fff;
   background: #1B3FD8;
   display: flex;
   align-items: center;
   justify-content: center;
   text-decoration: none;
   font-size: 42px;
   line-height: 1;
 }

 #chatbotBtn:hover {
   opacity: 1;
   transform: scale(1.1) rotate(5deg);
   box-shadow: 0 15px 35px rgba(27, 63, 216, 0.4);
 }

 #chatbotBtn img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center;
   border-radius: 50%;
 }

 /* ========== AVATAR ========== */
 #avatar {
   position: fixed;
   right: 30px;
   bottom: 30px;
   width: 85px;
   height: 85px;
   opacity: 0.9;
   border-radius: 50%;
   cursor: pointer;
   transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
   z-index: 3000;
   box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
   border: 4px solid #fff;
   background: #fff;
   object-fit: cover;
   object-position: center;
 }

 #avatar:hover {
   opacity: 1;
   transform: scale(1.1) rotate(5deg);
   box-shadow: 0 15px 35px rgba(27, 63, 216, 0.4);
 }

 #overlay {
   position: fixed;
   inset: 0;
   background: rgba(0, 0, 0, 0.7);
   display: none;
   z-index: 2900;
 }

 .highlight-tour {
   position: relative !important;
   z-index: 2901 !important;
   box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.4), 0 0 30px rgba(255, 255, 255, 0.6) !important;
   border-radius: 12px !important;
   pointer-events: none;
   transition: all 0.3s ease;
 }

 /* Specific style for Navbar links/buttons to make them pop clearly */
 nav .highlight-tour,
 .nav-links .highlight-tour,
 .nav-logo .highlight-tour {
   background: #fff !important;
   color: var(--blue) !important;
   padding: 6px 12px !important;
   border-radius: 10px !important;
   box-shadow: 0 0 0 10px #fff, 0 10px 30px rgba(0, 0, 0, 0.3) !important;
 }

 #guideBox {
   position: absolute;
   background: #fff;
   padding: 24px;
   border-radius: 20px;
   width: 280px;
   display: none;
   z-index: 2902;
   box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
   border: 1px solid rgba(0, 0, 0, 0.05);
   animation: fadeInSlide 0.4s ease-out;
 }

 @keyframes fadeInSlide {
   from {
     opacity: 0;
     transform: translateY(10px);
   }

   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 #guideBox p {
   margin: 0 0 18px;
   font-size: 16px;
   line-height: 1.6;
   font-weight: 600;
   color: #333;
 }

 #guideBox button {
   padding: 10px 24px;
   border: none;
   background: var(--blue);
   color: white;
   border-radius: 12px;
   cursor: pointer;
   font-family: 'Cairo', sans-serif;
   font-weight: 700;
   font-size: 14px;
   width: 100%;
   transition: background 0.2s;
 }

 #guideBox button:hover {
   background: var(--blue-dark);
 }

 .highlight-tour {
   animation: tourPulse 1.5s infinite;
 }

 /* Force dropdown visibility during tour */
 .dropdown-menu.tour-visible {
   opacity: 1 !important;
   visibility: visible !important;
   transform: translateY(0) !important;
   display: block !important;
 }

 @keyframes tourPulse {
   0% {
     transform: scale(1);
   }

   50% {
     transform: scale(1.02);
   }

   100% {
     transform: scale(1);
   }
 }

 @media (max-width: 768px) {
   #chatbotBtn {
     width: 70px;
     height: 70px;
     right: 20px;
     bottom: 108px;
     font-size: 34px;
   }

   #avatar {
     width: 70px;
     height: 70px;
     right: 20px;
     bottom: 20px;
   }

   #guideBox {
     width: 240px;
     padding: 18px;
   }
 }