/* ========================= Global Resets ======================= */
html, body{
  margin:0 !important;
  padding:0 !important;
}

/* =========================nav bar=======================/ */
/* Desktop action buttons spacing + separators */
.nav-actions{ display:flex; align-items:center; gap:12px; flex-shrink:0; }
.nav-actions .nav-divider{ width:1px; height:28px; background:rgba(255,255,255,.18); border-radius:1px; margin:0 2px; }
.nav-actions .pro-btn.small, .nav-actions .enroll-btn.small{ box-shadow: 0 6px 18px rgba(0,0,0,.35); }
.nav-actions .pro-btn.small{ padding:.45rem .85rem; }
.nav-actions .enroll-btn.small{ padding:.45rem .9rem; }

/* Auth buttons: softer “ghost” look */
.nav-auth{
  --auth-accent:#3aa0ff;
  display:inline-flex; align-items:center; gap:.45rem; padding:.45rem .85rem;
  border-radius:999px; color:#fff; text-decoration:none; font-weight:600; font-size:.9rem;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18);
  box-shadow:0 6px 18px rgba(0,0,0,.25);
  transition:transform .2s ease, background .2s ease, box-shadow .25s ease, border-color .2s ease;
}
.nav-auth .icon{ width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background: radial-gradient(120% 120% at 30% 30%, #ffffff, #f3f3f3); color:var(--auth-accent); font-size:.75rem; }
.nav-auth:hover{ transform:translateY(-2px); background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.28); box-shadow:0 10px 24px rgba(0,0,0,.35); }
.nav-auth.small{ padding:.30rem .60rem; font-size:.85rem; }
.nav-login{ --auth-accent:#3aa0ff; }
.nav-register{ --auth-accent:#4ade80; }


.pro-btn {
  /* Unified golden accent for profile / header buttons */
  --bg1:#f59e0b;   /* slightly deeper gold (used on hover) */
  --bg2:#b45309;
  --acc:#fffefe;
  --glow:#fed7aa;
  --txt:#1a1a1a;

  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .9rem;
  border-radius: 999px;
  color: var(--txt);
  text-decoration: none;
  font-weight: 600;
  font-size: .9rem;
  /* Default state uses the brighter hover gradient */
  background: linear-gradient(135deg, #ffcc33, #d39500);
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1),
              0 6px 18px rgba(255,180,0,.35);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
  color: #fff;
}

/* ======================= Background Animation (Subtle) ======================= */
.background-animation{
  position:fixed; inset:0; width:100%; height:100%;
  overflow:hidden; pointer-events:none;
  background: linear-gradient(135deg, #0a0a0a 0%, #111111 100%);
}
.center-pulse{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:100vw; height:100vh;
  background: radial-gradient(ellipse at center, rgba(229, 9, 22, 0.03) 0%, transparent 60%);
  animation: gentlePulse 20s ease-in-out infinite;
}
@keyframes gentlePulse{
  0%,100%{ opacity:.2; transform: translate(-50%,-50%) scale(1); }
  50%{ opacity:.4; transform: translate(-50%,-50%) scale(1.1); }
}
.border-glow{
  position:absolute; inset:0;
  box-shadow: inset 0 0 100px rgba(229, 9, 22, 0.02);
  animation: borderPulse 25s ease-in-out infinite;
}
@keyframes borderPulse{
  0%,100%{ box-shadow: inset 0 0 100px rgba(229,9,22,.02); }
  50%{ box-shadow: inset 0 0 150px rgba(229,9,22,.04); }
}

/* ======================= Global Typography Overrides ======================= */
:root {
  --body-fonts: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --title-fonts: 'Poppins', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}


html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  font-family: var(--body-fonts);
  font-variation-settings: normal;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  line-height: 1.7;
  letter-spacing: 0.01em;
}

h1 { font-family: var(--title-fonts); font-weight: 700; letter-spacing: -0.015em; line-height: 1.15; font-size: clamp(1.9rem, 1.2rem + 2.2vw, 2.6rem); }
h2 { font-family: var(--title-fonts); font-weight: 700; letter-spacing: -0.012em; line-height: 1.2;  font-size: clamp(1.6rem, 1rem + 1.8vw, 2.2rem); }
h3 { font-family: var(--title-fonts); font-weight: 600; letter-spacing: -0.008em; line-height: 1.25; font-size: clamp(1.3rem, 0.9rem + 1.4vw, 1.9rem); }
h4, h5, h6 { font-family: var(--title-fonts); font-weight: 600; }

p { margin-bottom: 1rem; }
small { font-size: 0.875rem; color: var(--secondary-color); }

/* ======================= Footer Aurora V2 ======================= */
.aurora-footer{ position:relative; background:#0a0a0a; overflow:hidden; }
.aurora-footer::before{ content:""; position:absolute; inset:-20%; z-index:0; filter: blur(35px); opacity:.85;
  background:
    radial-gradient(60% 40% at 0% 20%, rgba(255,71,87,.18), transparent 60%),
    radial-gradient(40% 60% at 100% 0%, rgba(0,123,255,.15), transparent 60%),
    radial-gradient(50% 50% at 80% 100%, rgba(40,167,69,.12), transparent 60%);
  animation: auroraMove 18s ease-in-out infinite alternate; }
@keyframes auroraMove{ 0%{ transform: translate3d(0,0,0) scale(1);} 100%{ transform: translate3d(-6%,-4%,0) scale(1.05);} }

.footer-curve{ position:absolute; top:-1px; left:0; width:100%; height:48px; z-index:1; opacity:.7; }
.footer-curve svg{ display:block; width:100%; height:100%; }

.aurora-footer .gen-footer-style-1{ position:relative; z-index:2; }
.aurora-footer .gen-footer-top{ padding:70px 0 52px; }
.aurora-footer .gen-footer-top .widget{ position:relative; background: rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.06); border-radius:14px; padding:22px; box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.aurora-footer .gen-footer-top .widget::after{ content:""; position:absolute; inset:0; border-radius:14px; pointer-events:none; background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 35%); }
.aurora-footer .gen-footer-logo{ filter: brightness(0) invert(1); max-height:52px; margin-bottom:16px; transition: transform .25s ease; }
.aurora-footer .gen-footer-logo:hover{ transform: translateY(-2px) scale(1.02); }
.aurora-footer .gen-footer-top .widget p{ color:#b8b8b8; margin-bottom:18px; }
.aurora-footer .footer-title{ color:#fff; font-weight:700; letter-spacing:.2px; margin-bottom:16px; position:relative; padding-bottom:10px; }
.aurora-footer .footer-title::after{ content:""; position:absolute; left:0; bottom:0; width:44px; height:3px; border-radius:3px; background: linear-gradient(90deg, var(--primary-color), #ff4b56); }
.aurora-footer .menu .menu-item{ margin-bottom:10px; }
.aurora-footer .menu .menu-item a{ color:#b8b8b8; transition: all .25s ease; display:inline-flex; align-items:center; gap:.5rem; }
.aurora-footer .menu .menu-item a::before{ content:""; width:6px; height:6px; border-radius:50%; background: var(--primary-color); opacity:0; transform: translateX(-4px); transition: all .25s ease; }
.aurora-footer .menu .menu-item a:hover{ color:#fff; transform: translateX(4px); }
.aurora-footer .menu .menu-item a:hover::before{ opacity:1; transform: translateX(0); }
.aurora-footer .social-link{ display:flex; gap:12px; }
.aurora-footer .social-link a{ width:42px; height:42px; display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:12px; background: rgba(255,255,255,.04); transition: transform .25s ease, background .25s ease, box-shadow .25s ease; }
.aurora-footer .social-link a:hover{ transform: translateY(-3px); background: linear-gradient(135deg, var(--primary-color), #ff4b56); box-shadow: 0 12px 28px rgba(229,9,22,.4); }

/* CTA bar */
.aurora-footer .footer-cta{ margin:-10px 0 28px; }
.aurora-footer .footer-cta .cta-inner{ border:1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04); backdrop-filter: blur(6px); border-radius:16px; padding:18px 20px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; box-shadow: 0 20px 40px rgba(0,0,0,.25); }
.aurora-footer .footer-cta h5{ margin:0; font-weight:600; font-size:1rem; }
.aurora-footer .cta-form{ display:flex; gap:10px; flex-wrap:wrap; }
.aurora-footer .cta-form input[type=email]{ background:#0f0f10; border:1px solid rgba(255,255,255,.16); color:#fff; padding:10px 12px; border-radius:10px; min-width:220px; outline:none; }
.aurora-footer .cta-form button{ padding:10px 16px; border:none; border-radius:10px; color:#fff; font-weight:600; background:linear-gradient(135deg, var(--primary-color), #ff4b56); box-shadow: 0 12px 26px rgba(229,9,22,.35); cursor:pointer; }
.aurora-footer .cta-form button:hover{ transform: translateY(-2px); }

@media (max-width: 991.98px){
  .aurora-footer .gen-footer-top{ padding:56px 0 40px; }
  .aurora-footer .gen-footer-top .widget{ padding:18px; }
  .aurora-footer .footer-cta .cta-inner{ padding:16px; }
}


.pro-btn.small {
  padding: .45rem .75rem;
  font-size: .8rem;
}
.pro-btn.small .icon {
  width: 24px;
  height: 24px;
  font-size: .75rem;
}

#gen-header .gen-header-info-box .pro { padding-top: 0 !important; padding-bottom: 0 !important; }

.pro-btn .icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: radial-gradient(120% 120% at 30% 30%, var(--acc), #f8f6f6);
  color: #ffb400;
  font-size: .85rem;
  transition: transform .25s ease, background .25s ease, color .25s ease;
}

.pro-btn .top-anim {
  position: absolute;
  left: -40%;
  top: 0;
  width: 30%;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, transparent, var(--glow), #fff, transparent);
  filter: drop-shadow(0 0 6px var(--glow));
  animation: sweep 1.6s linear infinite;
}

.pro-btn:hover {
  transform: translateY(-2px);
  color: #f7f0f0;
  box-shadow: 0 10px 26px rgba(255,180,0,.55);
  /* Hover now uses the slightly deeper accent defined above */
  background: linear-gradient(135deg, var(--bg1), var(--bg2));
}

.pro-btn:hover .icon {
  transform: scale(1.08);
  background: #ffffff;
  color: #ffcc33;
}

@keyframes sweep {
  0% { left: -40%; opacity: 0; }
  50% { left: 70%; opacity: 1; }
  100% { left: 110%; opacity: 0; }
}


/* enroll now  */
.enroll-btn {
  --main:#e50916;
  --light:#ff4b56;
  --txt:#ffffff;

  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .9rem;
  font-size: .85rem;
  font-weight: 600;
  color: var(--txt);
  text-decoration: none;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--main), #9b000a);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 5px 15px rgba(229,9,22,.35);
  overflow: hidden;
  transition: all 0.3s ease;
}


.enroll-btn.small {
  padding: .55rem .9rem;
  font-size: .85rem;
}
.enroll-btn.small i { font-size: 1rem; }

.enroll-btn .icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--main);
  font-size: .8rem;
  transition: transform .3s ease, background .3s ease, color .3s ease;
}

.enroll-btn .label {
  white-space: nowrap;
}

/* top animation line */
.enroll-btn .top-anim {
  position: absolute;
  left: -40%;
  top: 0;
  width: 35%;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, var(--light), #fff, transparent);
  filter: drop-shadow(0 0 6px var(--light));
  animation: sweep 1.8s linear infinite;
  pointer-events: none;
}

/* hover effects */
.enroll-btn:hover {

  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 8px 25px rgba(229,9,22,.55);
}
.enroll-btn:hover .icon {
  transform: rotate(8deg) scale(1.1);
  background: var(--light);
  color: #fff;
}

/* animation */
@keyframes sweep {
  0% { left: -40%; opacity: 0; }
  50% { left: 70%; opacity: 1; }
  100% { left: 110%; opacity: 0; }
}

.gen-btn-container {
  margin-right: 10px;
}

/* =======================slider banner======================= */
.banner-section {
  margin-top: 80px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.gen-banner-movies {
  height: 400px;
  overflow: hidden;
}

.gen-movie-contain-style-2 {
  height: 100%;
}

.owl-carousel .item {
  height: 100%;
  background-size: cover;
  background-position: center;
}

/* Image  */
.gen-banner-movies .gen-front-image img {
  max-height: 260px;
  object-fit: cover;
}

.gen-movie-info h3 {
  font-size: 1.8rem;
}

.banner-section .gen-banner-movies,
.banner-section .owl-carousel,
.banner-section .owl-stage-outer,
.banner-section .owl-stage {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.banner-section .owl-nav,
.banner-section .owl-dots {
  margin-top: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
  overflow: hidden;
}

.banner-section .gen-banner-movies::after,
.banner-section .gen-movie-contain-style-2::after {
  content: none !important;
  display: none !important;
}

/* =======================VIDEO (LESSONS)-1 ======================= */
.vedio-section {
  margin-top: 25px !important;
  padding-top: 25px !important;
}

.banner-section + .vedio-section {
  margin-top: 25px !important;
  padding-top: 25px !important;
}

.gen-section-padding-2 {
  margin-top: 25px !important;
  padding-top: 25px !important;
}


/* ==========================ALL VIDEO (LESSON) SECTIONS========================== */

/* Common video section layout */
.vedio-section,
.gen-section-padding-2 {
  margin-top: 40px !important;
  padding-top: 30px !important;
  padding-bottom: 40px !important;

}

/* If placed directly after banner section */
.banner-section + .vedio-section,
.banner-section + .gen-section-padding-2 {
  margin-top: 25px !important;
  padding-top: 25px !important;
}

/* ======================= Responsive Navbar Tweaks ======================= */
#gen-header .navbar-toggler { border: none; color: #fff; font-size: 1.25rem; }
#gen-header .navbar-toggler:focus { box-shadow: none; }

@media (max-width: 991.98px) {
  #gen-header .navbar-collapse {
    background: #121212;
    padding: 10px 14px;
    border-radius: 10px;
    margin: 0;
  }
  /* Compact header height on mobile to remove top gap */
  #gen-header .gen-bottom-header { min-height: 56px !important; }
  #gen-header .gen-bottom-header .navbar { min-height: 56px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
  #gen-header .gen-bottom-header .navbar .navbar-brand { line-height: 56px !important; }
  #gen-header .gen-bottom-header .navbar .navbar-brand img { max-height: 42px; height: 42px; }
  #gen-header .navbar-nav .menu-item a {
    display: block;
    padding: 10px 12px;
  }
  /* Mobile actions inside collapse */
  .mobile-nav-actions {
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,.08) !important;
  }
  .mobile-nav-actions .d-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 8px;
    row-gap: 8px;
  }
  .mobile-nav-actions .input-group .form-control { box-shadow: none; }
  .mobile-nav-actions .enroll-btn,
  .mobile-nav-actions .pro-btn,
  .mobile-nav-actions .nav-auth {
    width: 100%;
    justify-content: center;
    border-radius: 999px;
  }
  .mobile-nav-actions .enroll-btn,
  .mobile-nav-actions .pro-btn {
    box-shadow: 0 6px 18px rgba(0,0,0,.45);
  }
  .mobile-nav-actions .nav-auth {
    box-shadow: 0 4px 12px rgba(0,0,0,.4);
    background: rgba(255,255,255,.05);
    border-color: rgba(255,255,255,.18);
  }

  /* Force navbar to stick at very top on mobile */
  header#gen-header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9998;
  }
  body {
    padding-top: 60px !important; /* reserve height so content not hidden */
  }

  /* Remove any top spacing around the navbar on mobile */
  html, body { margin-top: 0 !important; padding-top: 0 !important; }
  #gen-header { margin-top: 0 !important; padding-top: 0 !important; }
  #gen-header .gen-bottom-header { margin-top: 0 !important; padding-top: 0 !important; }
  #gen-header .container { padding-top: 0 !important; }
  #gen-header .navbar { margin-top: 0 !important; }

  /* Remove any extra space above the navbar and banner on mobile */
  header#gen-header,
  #gen-header,
  #gen-header .gen-bottom-header,
  #gen-header .navbar { margin-top: 0 !important; padding-top: 0 !important; }

  /* Eliminate banner top gap (override mt-5 / pt-5 and any residual space) */
  .banner-section {
    margin-top: 12px !important;  /* keep banner fully below fixed navbar */
    padding-top: 0 !important;
  }
  .banner-section .gen-banner-movies{
    margin-top: 0 !important;
  }
}

/* ======================= Download Modal Form (scoped) ======================= */
#downloadModal .download-modal {
  /* provide CSS variables locally to the modal */
  --primary: #e50916;
  --dark: #121212;
  --darker: #1e1e1e;
  --light: #a0a0a0;
  --white: #ffffff;

  background: #1e1e1e !important;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: .6rem;
  box-shadow: 0 10px 30px rgba(0,0,0,.6);
  position: relative;
  overflow: hidden;
}

#downloadModal .download-modal::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 80% at -10% -20%, rgba(229, 9, 22, 0.14), transparent 60%),
              radial-gradient(120% 80% at 110% -20%, rgba(255, 71, 87, 0.12), transparent 60%),
              radial-gradient(100% 80% at 50% 120%, rgba(255, 255, 255, 0.03), transparent 60%);
  pointer-events: none;
  z-index: 0;
}

#downloadModal .download-modal > * { position: relative; z-index: 1; }

#downloadModal .modal-dialog { max-width: 560px; }

#downloadModal .modal-header { border: 0; }
#downloadModal .btn-close { filter: invert(1) brightness(10); opacity: .8; }

#downloadModal .form-container {
  background: linear-gradient(145deg, var(--darker) 0%, #252525 100%);
  border-radius: 20px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255,255,255,0.05), inset 0 1px 0 rgba(255,255,255,0.1);
  overflow: visible;
  width: 100%;
  max-width: 500px;
  position: relative;
  margin: 0 auto;
  transform-style: preserve-3d;
  animation: formEntrance 1.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}


#downloadModal .modal-dialog,
#downloadModal .modal-content {
  overflow: visible;
}

#downloadModal .form-container:hover {
  transform: translateY(-10px) rotateX(5deg);
}

#downloadModal .particles-container { position:absolute; width:100%; height:100%; top:0; left:0; z-index:-1; }
#downloadModal .particle { position:absolute; background: var(--primary); border-radius: 50%; opacity: .3; }

#downloadModal .form-header {
  background: linear-gradient(90deg, var(--primary) 0%, #ff4757 100%);
  padding: 25px; text-align: center; position: relative; overflow: hidden;
}

/* ======================= YouTube Shorts Carousel (Advanced) ======================= */
.shorts-section { position:relative; z-index:1; }
.shorts-section::before,
.shorts-section::after {
  content:""; position:absolute; inset:auto; z-index:-1; filter: blur(40px); opacity:.35; pointer-events:none;
}
.shorts-section::before { width:420px; height:420px; left:-120px; top:-60px; background: radial-gradient(60% 60% at 50% 50%, rgba(229,9,22,.35), transparent 70%); animation: float-orb 12s ease-in-out infinite; }
.shorts-section::after { width:380px; height:380px; right:-120px; bottom:-30px; background: radial-gradient(60% 60% at 50% 50%, rgba(0,123,255,.28), transparent 70%); animation: float-orb 15s ease-in-out infinite reverse; }
@keyframes float-orb { 0%,100%{ transform: translateY(0) translateX(0);} 50%{ transform: translateY(-12px) translateX(8px);} }

.shorts-heading { display:flex; align-items:center; gap:.75rem; }
.shorts-heading .title{
  font-weight:800; letter-spacing:.3px;
  background:linear-gradient(90deg,#ffffff,#ff3b3b,#ffffff);
  background-size:200% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  animation: shorts-shine 6s linear infinite;
}
@keyframes shorts-shine{ from{ background-position:0% 50%; } to{ background-position:200% 50%; } }
.shorts-heading .yt-pulse{
  width:42px; height:42px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background: radial-gradient(60% 60% at 50% 50%, rgba(255,0,0,.9), rgba(255,0,0,.6));
  color:#fff; box-shadow:0 8px 24px rgba(255,0,0,.35);
  animation: yt-pulse 1.8s ease-in-out infinite;
}
@keyframes yt-pulse{ 0%,100%{ transform: scale(1); box-shadow:0 0 0 0 rgba(255,0,0,.45);} 50%{ transform: scale(1.05); box-shadow:0 0 0 12px rgba(255,0,0,0);} }
.shorts-heading .badge{ background: var(--theme-red); color:#fff; font-size:.75rem; padding:.28rem .55rem; border-radius:999px; box-shadow:0 6px 16px rgba(229,9,22,.25); }

.shorts-carousel { position:relative; overflow:visible; }
.shorts-carousel .owl-stage-outer{ overflow:visible; }

.shorts-carousel .short-card {
  position:relative; background:#0f0f0f; border-radius:16px; overflow:hidden; transform-style:preserve-3d; transition: transform .35s ease, box-shadow .35s ease;
}
.shorts-carousel .short-card::before{ content:""; position:absolute; inset:-2px; border-radius:18px; background: conic-gradient(from 0deg, #e50916, #ff6b6b, #007bff, #28a745, #e50916); filter: blur(8px); opacity:.35; z-index:0; animation: spin-gradient 6s linear infinite; }
.shorts-carousel .short-card::after{ content:""; position:absolute; inset:0; border-radius:16px; background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 35%); z-index:0; }
@keyframes spin-gradient { to { transform: rotate(360deg);} }

.ratio-9x16 { position:relative; width:100%; padding-top:177.78%; z-index:1; border-radius:16px; overflow:hidden; background:#000; }
.ratio-9x16 iframe, .ratio-9x16 .embed { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:16px; }

.short-card .short-meta { position:relative; z-index:1; padding:.6rem .75rem; display:flex; align-items:center; justify-content:space-between; backdrop-filter: blur(6px); background:linear-gradient(180deg, rgba(0,0,0,.4), rgba(0,0,0,0)); }
.short-card .short-title { font-size:.95rem; margin:0; color:#fff; }
.short-card .meta-text{ display:flex; flex-direction:column; gap:2px; }
.short-card .short-sub{ margin:0; color:#b8b8b8; font-size:.78rem; opacity:.95; }
.short-card .yt-icon { color:#ff0000; text-shadow: 0 4px 12px rgba(255,0,0,.35); }

/* Hover + focus interactions */
.shorts-carousel .short-card:hover { transform: translateY(-6px) scale(1.02); box-shadow: 0 18px 42px rgba(0,0,0,.5); }

/* Appear-on-scroll animation */
.short-card{ opacity:0; transform: translateY(24px) scale(.98); }
.short-card.in-view{ opacity:1; transform: translateY(0) scale(1); transition: transform .6s cubic-bezier(.2,.65,.2,1), opacity .6s ease; }

/* Nav buttons styling */
.shorts-carousel .owl-nav button{ width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg, #e50916, #ff4757)!important; color:#fff!important; box-shadow:0 10px 24px rgba(229,9,22,.35); position:absolute; top:40%; transform:translateY(-50%); }
.shorts-carousel .owl-nav .owl-prev{ left:-12px; }
.shorts-carousel .owl-nav .owl-next{ right:-12px; }
.shorts-carousel .owl-nav i{ color:#fff; line-height:42px; }

@media (max-width: 575.98px) {
  .short-card .short-title { font-size:.9rem; }
  .shorts-carousel .owl-nav .owl-prev{ left:-6px; }
  .shorts-carousel .owl-nav .owl-next{ right:-6px; }
}

/* ======================= Forex App Promo ======================= */
.app-promo{ position:relative; background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)); border-top:1px solid rgba(255,255,255,.05); overflow:hidden; }
.app-promo .app-bg{ position:absolute; border-radius:50%; filter: blur(40px); opacity:.28; }
.app-promo .app-bg-1{ width:420px; height:420px; left:-120px; top:-80px; background: radial-gradient(60% 60% at 50% 50%, rgba(229,9,22,.35), transparent 70%); }
.app-promo .app-bg-2{ width:380px; height:380px; right:-120px; bottom:-60px; background: radial-gradient(60% 60% at 50% 50%, rgba(0,123,255,.28), transparent 70%); }

.app-promo .app-copy .badge-new{ display:inline-block; background:linear-gradient(135deg, var(--primary-color), #ff4757); color:#fff; padding:.25rem .6rem; border-radius:.5rem; font-size:.75rem; margin-bottom:.6rem; }
.app-promo .app-copy .title{ font-weight:700; }
.app-promo .app-copy .lead{ color:#cfcfcf; }
.app-promo .features{ list-style:none; padding:0; margin:0 0 14px; display:grid; gap:.35rem; }
.app-promo .features li{ color:#b8b8b8; }
.app-promo .features i{ color:#ff5a63; margin-right:.35rem; }
.app-promo .store-buttons{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.app-promo .store{ display:inline-block; border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.08); box-shadow:0 12px 28px rgba(0,0,0,.25); transition: transform .25s ease; }
.app-promo .store:hover{ transform: translateY(-2px); }
.app-promo .store img{ display:block; height:46px; }
.app-promo .disclaimer{ color:#9a9a9a; }

.app-promo .phone-shot{ position:relative; display:inline-block; }
.app-promo .phone-shot img{ max-width:420px; border-radius:24px; box-shadow: 0 25px 60px rgba(0,0,0,.45); }
.app-promo .glow{ position:absolute; inset:auto; border-radius:50%; filter: blur(28px); opacity:.55; pointer-events:none; }
.app-promo .glow-1{ width:160px; height:160px; right:10%; top:8%; background: radial-gradient(60% 60% at 50% 50%, rgba(229,9,22,.6), transparent 70%); }
.app-promo .glow-2{ width:180px; height:180px; left:-6%; bottom:8%; background: radial-gradient(60% 60% at 50% 50%, rgba(0,123,255,.45), transparent 70%); }

@media (max-width: 991.98px){
  .app-promo .phone-shot img{ max-width: 320px; }
}

#downloadModal .form-header p { margin: 5px 0 0; opacity: .9; font-size: .9rem; }
#downloadModal .form-header::before { content:''; position:absolute; inset:0; background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.2) 50%, transparent 70%); animation: shine 3s infinite linear; }

#downloadModal .step-indicator { display:flex; justify-content:center; margin-bottom:30px; }
#downloadModal .step { width:30px; height:30px; border-radius:50%; background: rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; margin:0 10px; font-weight:700; position:relative; transition:all .3s ease; }
#downloadModal .step.active { background: var(--primary); transform: scale(1.2); box-shadow: 0 0 10px rgba(229,9,22,.5); }
#downloadModal .step.completed { background: var(--primary); }
#downloadModal .step::after { content:''; position:absolute; width:20px; height:2px; background: rgba(255,255,255,0.2); right:-20px; top:50%; transform: translateY(-50%); }
#downloadModal .step:last-child::after { display:none; }

#downloadModal .form-step { display:none; animation: fadeIn .5s ease forwards; }
#downloadModal .form-step.active { display:block; }

#downloadModal .input-group { position:relative; margin-bottom:25px; }
#downloadModal .input-highlight { position:absolute; bottom:0; left:50%; width:0; height:2px; background: var(--primary); transition: all .4s ease; transform: translateX(-50%); pointer-events:none; z-index:0; }
#downloadModal .form-control:focus ~ .input-highlight { width:100%; }
#downloadModal .form-control { position: relative; z-index: 2; }
#downloadModal input, #downloadModal select, #downloadModal textarea { pointer-events: auto; }

#downloadModal .form-footer { padding:20px 30px; background: rgba(0,0,0,0.3); display:flex; justify-content: space-between; border-top:1px solid rgba(255,255,255,0.05); }

#downloadModal .btn-primary { background: linear-gradient(90deg, var(--primary) 0%, #ff4757 100%); color: #fff; box-shadow: 0 5px 15px rgba(229,9,22,0.3); border: none; }
#downloadModal .btn-primary:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(229,9,22,0.4); }

#downloadModal .role-options { display:grid; grid-template-columns: repeat(3,1fr); gap:15px; margin-top:10px; }
#downloadModal .role-option { background: rgba(255,255,255,0.07); border:2px solid rgba(255,255,255,0.1); border-radius:12px; padding:15px 10px; text-align:center; cursor:pointer; transition:all .3s ease; position:relative; overflow:hidden; }
#downloadModal .role-option:hover { transform: translateY(-5px); border-color: rgba(229,9,22,0.5); box-shadow: 0 5px 15px rgba(0,0,0,0.2); }
#downloadModal .role-option.selected { border-color: var(--primary); background: rgba(229,9,22,0.1); transform: translateY(-5px); box-shadow: 0 5px 15px rgba(229,9,22,0.2); }
#downloadModal .role-option i { font-size:1.5rem; color: var(--primary); margin-bottom:8px; display:block; }
#downloadModal .role-option .role-title { font-weight:600; font-size:.9rem; margin-bottom:5px; }
#downloadModal .role-option .role-desc { font-size:.75rem; color: var(--light); }

#downloadModal .form-note { background: rgba(229,9,22,0.1); border-left:3px solid var(--primary); padding:15px; border-radius: 0 8px 8px 0; margin-top:20px; font-size:.85rem; color: var(--light); }

#downloadModal .success-message { text-align:center; padding:40px 20px; display:none; animation: successEntrance .8s ease forwards; }
#downloadModal .success-icon { width:80px; height:80px; background: linear-gradient(135deg, var(--primary) 0%, #ff4757 100%); border-radius:50%; display:flex; align-items:center; justify-content:center; margin: 0 auto 20px; font-size:2rem; box-shadow: 0 10px 20px rgba(229,9,22,0.3); animation: iconPulse 2s infinite; }

/* animations for this modal */
@keyframes formEntrance { 0% { opacity:0; transform: translateY(50px) rotateX(30deg) scale(.9);} 100% { opacity:1; transform: translateY(0) rotateX(0) scale(1);} }
@keyframes fadeIn { from { opacity:0; transform: translateX(20px);} to { opacity:1; transform: translateX(0);} }
@keyframes progressShine { 0% { left:-20px;} 100% { left:100%;} }
@keyframes successEntrance { 0% { opacity:0; transform: scale(.8);} 70% { transform: scale(1.05);} 100% { opacity:1; transform: scale(1);} }
@keyframes iconPulse { 0% { box-shadow:0 0 0 0 rgba(229,9,22,.7);} 70% { box-shadow:0 0 0 15px rgba(229,9,22,0);} 100% { box-shadow:0 0 0 0 rgba(229,9,22,0);} }
@keyframes float { 0%,100% { transform: translateY(0);} 50% { transform: translateY(-10px);} }
@keyframes particleFloat { 0%,100% { transform: translateY(0) translateX(0);} 25% { transform: translateY(-20px) translateX(10px);} 50% { transform: translateY(-10px) translateX(-10px);} 75% { transform: translateY(10px) translateX(5px);} }

#downloadModal .form-header {
  background-color: var(--primary);
  padding: 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

#downloadModal .form-header::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.1) 50%, transparent 70%);
  animation: shine 3s infinite linear;
}

#downloadModal .form-header h2 {
  margin: 0;
  font-weight: 700;
  letter-spacing: 1px;
  position: relative;
}

#downloadModal .form-body { padding: 30px; position: relative; z-index: 1; }

#downloadModal .form-label {
  color: var(--white);
  font-weight: 500;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
}

#downloadModal .form-label i {
  margin-right: 8px;
  color: var(--primary);
  font-size: 1.1rem;
}

#downloadModal .form-control,
#downloadModal .form-select {
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--white);
  border-radius: 8px;
  padding: 12px 15px;
  transition: all 0.3s ease;
}

/* Ensure select text isn't vertically clipped */
#downloadModal .form-select {
  line-height: 1.4;
  font-size: 1rem;
  height: auto;
  min-height: 46px;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-right: 2.25rem;
  background-clip: padding-box;
}

#downloadModal .form-control:focus,
#downloadModal .form-select:focus {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: var(--primary);
  box-shadow: 0 6px 18px rgba(229, 9, 22, 0.25), 0 0 0 0.25rem rgba(229, 9, 22, 0.25);
  color: var(--white);
}

#downloadModal .form-control::placeholder { color: var(--light); }

#downloadModal .form-footer {
  padding: 20px 30px;
  background-color: rgba(0, 0, 0, 0.3);
  display: flex;
  justify-content: space-between;
}

#downloadModal .btn { border-radius: 8px; padding: 10px 20px; font-weight: 600; transition: all 0.3s ease; position: relative; overflow: hidden; }
#downloadModal .btn-secondary { background-color: transparent; border: 1px solid var(--light); color: var(--light); }
#downloadModal .btn-secondary:hover { background-color: rgba(160, 160, 160, 0.1); border-color: var(--white); color: var(--white); }
#downloadModal .btn-primary,
#downloadModal .btn-danger { background: linear-gradient(90deg, var(--primary) 0%, #ff4757 100%); border: none; color: #fff; box-shadow: 0 6px 16px rgba(229, 9, 22, 0.35); }
#downloadModal .btn-primary:hover,
#downloadModal .btn-danger:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(229, 9, 22, 0.45); }
#downloadModal .btn-danger:active { transform: translateY(0); }

#downloadModal .btn::after { content: ''; position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; background: rgba(255, 255, 255, 0.5); opacity: 0; border-radius: 100%; transform: scale(1, 1) translate(-50%); transform-origin: 50% 50%; }
#downloadModal .btn:focus:not(:active)::after { animation: ripple 1s ease-out; }

#downloadModal .form-text { color: var(--light); font-size: 0.85rem; margin-top: 5px; }

#downloadModal .progress-container { margin-top: 25px; display: none; }
#downloadModal .progress { height: 6px; background-color: rgba(255, 255, 255, 0.1); border-radius: 3px; overflow: hidden; margin-bottom: 10px; }
#downloadModal .progress-bar { background-color: var(--primary); border-radius: 3px; transition: width 0.4s ease; }
#downloadModal .progress-text { text-align: center; font-size: 0.9rem; color: var(--light); }

#downloadModal .success-message { text-align: center; padding: 20px; display: none; }
#downloadModal .success-message i { font-size: 3rem; color: var(--primary); margin-bottom: 15px; animation: bounce 0.5s ease; }
#downloadModal .success-message h3 { color: var(--white); margin-bottom: 10px; }
#downloadModal .success-message p { color: var(--light); }

#downloadModal .floating-label {
  position: absolute; top: 12px; left: 15px; color: var(--light); font-size: 1rem; pointer-events: none; transition: all 0.3s ease;
}

#downloadModal .form-control:focus + .floating-label,
#downloadModal .form-control:not(:placeholder-shown) + .floating-label {
  top: -10px; left: 10px; font-size: 0.8rem; color: var(--primary); background-color: var(--darker); padding: 0 5px;
}

/* animations reused */
@keyframes formSlideIn { from { opacity: 0; transform: translateY(30px);} to { opacity:1; transform: translateY(0);} }
@keyframes shine { 0%{ transform: translateX(-100%);} 100%{ transform: translateX(100%);} }
@keyframes ripple { 0%{ transform: scale(0,0); opacity:.5;} 100%{ transform: scale(20,20); opacity:0;} }
@keyframes bounce { 0%,20%,50%,80%,100%{ transform: translateY(0);} 40%{ transform: translateY(-10px);} 60%{ transform: translateY(-5px);} }
@keyframes pulse { 0%{ box-shadow: 0 0 0 0 rgba(229, 9, 22, 0.7);} 70%{ box-shadow: 0 0 0 10px rgba(229, 9, 22, 0);} 100%{ box-shadow: 0 0 0 0 rgba(229, 9, 22, 0);} }

#downloadModal .pulse { animation: pulse 2s infinite; }

#downloadModal .is-invalid { border-color: #e50916 !important; box-shadow: 0 0 0 0.25rem rgba(229, 9, 22, 0.25) !important; }

@media (max-width: 576px) {
  #downloadModal .form-body { padding: 20px; }
  #downloadModal .form-footer { padding: 15px 20px; flex-direction: column; gap: 10px; }
  #downloadModal .btn { width: 100%; }
}

/* Advanced step indicator with connecting lines */
#downloadModal .step-indicator { display:flex; justify-content:center; align-items:center; gap: 20px; margin-bottom: 18px; position: relative; }
#downloadModal .step { width: 36px; height: 36px; border-radius: 50%; display:flex; align-items:center; justify-content:center; font-weight:700; color:#bdbdbd; background: rgba(255,255,255,0.12); box-shadow: inset 0 0 0 2px rgba(255,255,255,0.2); transition: all .25s ease; position: relative; }
#downloadModal .step + .step::before { content:''; position:absolute; left:-42px; top:50%; width:42px; height:4px; transform:translateY(-50%); background: rgba(255,255,255,0.15); border-radius: 2px; }
#downloadModal .step.active { background: linear-gradient(90deg, var(--primary) 0%, #ff4757 100%); color:#fff; box-shadow: 0 0 0 3px rgba(229,9,22,0.25); transform: scale(1.05); }
#downloadModal .step.completed { background: rgba(229,9,22,0.9); color:#fff; }
#downloadModal .step.completed + .step::before,
#downloadModal .step.active + .step::before { background: linear-gradient(90deg, var(--primary), #ff4757); box-shadow: 0 0 8px rgba(255,71,87,0.55); }

/* Role tiles hover/select polish */
#downloadModal .role-options { display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 8px; }
#downloadModal .role-option { background: rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:12px; padding:14px 10px; transition: all .25s ease; text-align:center; cursor:pointer; }
#downloadModal .role-option:hover { transform: translateY(-4px); box-shadow: 0 8px 22px rgba(0,0,0,.25); border-color: rgba(255,255,255,0.25); }
#downloadModal .role-option.selected { border-color: rgba(229,9,22,0.8); background: rgba(229,9,22,0.12); box-shadow: 0 10px 26px rgba(229,9,22,.25); }
#downloadModal .role-option i { color: var(--primary); display:block; font-size: 1.35rem; margin-bottom: 6px; }
#downloadModal .role-option .role-title { font-weight:600; }


/* Section heading spacing */
.gen-section-padding-2 .row.mb-5,
.vedio-section .row.mb-5 {
  margin-bottom: 25px !important;
}

/* Carousel adjustments */
.gen-section-padding-2 .owl-carousel,
.vedio-section .owl-carousel {
  margin-top: 10px !important;
}

/* Optional: reduce space between cards if too wide */
.gen-section-padding-2 .owl-carousel .item,
.vedio-section .owl-carousel .item {
  margin-bottom: 0 !important;
}



/* all course  */

      :root {
            --advanced: #e50916;
            --intermediate: #007bff;
            --beginner: #28a745;
            --text: #f0f0f0;
            --muted: #a0a0a0;
            --border: #333;
            --bg: #121212;
            --card: #1e1e1e;
        }

        .light-mode {
            --text: #1f1f1f;
            --muted: #6b7280;
            --border: #eaeaea;
            --bg: #f8f9fa;
            --card: #fff;
        }

        body {
            font-family: 'Poppins', sans-serif;
            background-color: var(--bg);
            color: var(--text);
            overflow-x: hidden;
            transition: background-color 0.5s ease, color 0.5s ease;
        }

        .container {
            max-width: 1200px;
        }

        .text-start h1 {
            position: relative;
            display: inline-block;
            margin-bottom: 1rem;
        }

        .text-start h1::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 0;
            width: 80px;
            height: 4px;
            background: linear-gradient(90deg, var(--beginner), var(--intermediate), var(--advanced));
            border-radius: 2px;
        }

        .course-tabs {
            position: relative;
            margin-bottom: 2rem;
        }

        /* Keep the gradient indicator snug under the tab buttons */
        .tabs-wrap { padding-bottom: 12px; }
        .tabs-wrap .tab-indicator { bottom: 0; }

        /* Ensure the main 'ALL COURSES' header is visible on dark backgrounds */
        .all-courses-header { position: relative; z-index: 2; }
        .all-courses-header h1 { color:#fff !important; text-shadow:0 2px 10px rgba(0,0,0,.45); }
        .all-courses-header p { color:#cfcfcf; }

        /* Category heading above filter buttons */
        .category-heading {
            font-weight: 800;
            letter-spacing: .3px;
            color: #ffffff; /* force visible on dark bg */
            text-shadow: 0 2px 10px rgba(0,0,0,.45);
            font-size: clamp(1.3rem, 1rem + 1vw, 1.9rem);
            margin: 0.75rem 0 0.25rem;
            position: relative;
            z-index: 1;
        }
        .category-heading::after{
            content: '';
            display:block;
            width: 96px;
            height: 3px;
            margin: 10px auto 0;
            border-radius: 3px;
            background: linear-gradient(90deg, var(--beginner), var(--intermediate), var(--advanced));
            opacity: 1;
            box-shadow: 0 2px 10px rgba(0,0,0,.35);
        }

        .course-tabs .nav-link {
            border: 2px solid var(--border);
            border-radius: 999px;
            color: var(--text);
            font-weight: 600;
            padding: .55rem 1.25rem;
            margin: .25rem;
            background: var(--card);
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            position: relative;
            overflow: hidden;
        }

        .course-tabs .nav-link::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
            transition: left 0.7s;
        }

        .course-tabs .nav-link:hover::before {
            left: 100%;
        }

        .course-tabs .nav-link.active {
            background: var(--advanced);
            border-color: var(--advanced);
            color: #fff;
            box-shadow: 0 4px 15px rgba(229, 9, 22, 0.4);
            transform: translateY(-2px);
        }

        .course-tabs .nav-link:not(.active):hover {
            color: #b81d24;
            border-color: #b81d24;
            transform: translateY(-2px);
        }

        /* Three Card Layout */
        .courses-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
        }

        .course-card {
            background: var(--card);
            border-radius: 16px;
            overflow: hidden;
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            border: 1px solid var(--border);
            /* Default visible so content never appears empty if JS fails */
            opacity: 1;
            transform: none;
            display: flex;
            flex-direction: column;
            height: 100%;
        }

        /* Enable reveal animation only when JS marks page as enhanced */
        .js-enhanced .course-card { opacity: 0; transform: translateY(30px); }
        .js-enhanced .course-card.visible { opacity: 1; transform: translateY(0); }

        .course-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 15px 30px rgba(0,0,0,.25);
        }

        .course-image {
            position: relative;
            height: 220px;
            overflow: hidden;
        }

        .course-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.7s ease;
        }

        .course-card:hover .course-image img {
            transform: scale(1.1);
        }

        .course-level {
            position: absolute;
            top: 15px;
            left: 15px;
            z-index: 2;
        }

        .badge-chip {
            font-weight: 700;
            letter-spacing: .02em;
            text-transform: uppercase;
            border-radius: 4px;
            color: #fff;
            padding: 0.35em 0.75em;
            font-size: .75rem;
            display: inline-block;
            transition: transform 0.3s;
        }

        .course-card:hover .badge-chip {
            transform: scale(1.05);
        }

        .badge-advanced {
            background: var(--advanced);
            box-shadow: 0 2px 8px rgba(229, 9, 22, 0.3);
        }
        .badge-intermediate {
            background: var(--intermediate);
            box-shadow: 0 2px 8px rgba(0, 123, 255, 0.3);
        }
        .badge-beginner {
            background: var(--beginner);
            box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
        }

        .course-content {
            padding: 1.5rem;
            display: flex;
            flex-direction: column;
            flex-grow: 1;
        }

        .course-meta {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 0.75rem;
        }

        .course-lessons {
            font-size: 0.875rem;
            color: var(--muted);
        }

        .course-title {
            font-size: 1.25rem;
            font-weight: 700;
            margin-bottom: 0.75rem;
            line-height: 1.3;
        }

        .course-description {
            color: var(--muted);
            margin-bottom: 1.5rem;
            flex-grow: 1;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .course-actions {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: auto;
        }

        .btn-advanced, .btn-intermediate, .btn-beginner {
            color: #fff;
            font-weight: 700;
            position: relative;
            overflow: hidden;
            transition: all 0.3s;
            border: none;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
            padding: 0.5rem 1.25rem;
        }

        .btn-advanced {
            background: var(--advanced);
        }
        .btn-intermediate {
            background: var(--intermediate);
        }
        .btn-beginner {
            background: var(--beginner);
        }

        .btn-advanced:hover, .btn-intermediate:hover, .btn-beginner:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(0,0,0,0.2);
        }

        .btn-advanced:hover {
            background: #b81d24;
        }
        .btn-intermediate:hover {
            background: #0056b3;
        }
        .btn-beginner:hover {
            background: #1c7c33;
        }

        .link-lessons {
            color: var(--advanced);
            font-weight: 600;
            text-decoration: none;
            transition: all 0.3s;
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
        }

        .link-lessons::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--advanced);
            transition: width 0.3s;
        }

        .link-lessons:hover {
            color: #b81d24;
        }

        .link-lessons:hover::after {
            width: 100%;
        }

        /* Progress indicator for tabs */
        .tab-indicator {
            position: absolute;
            bottom: 0;
            left: 0;
            height: 3px;
            border-radius: 3px;
            transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
            width: 0;
        }

        /* Theme toggle */
        .theme-toggle {
            position: fixed;
            top: 20px;
            right: 20px;
            z-index: 1000;
            background: var(--card);
            border-radius: 50%;
            width: 50px;
            height: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
            transition: all 0.3s;
            color: var(--text);
        }

        .theme-toggle:hover {
            transform: rotate(15deg);
        }

        /* Floating animation for course items */
        @keyframes float {
            0% { transform: translateY(0px); }
            50% { transform: translateY(-10px); }
            100% { transform: translateY(0px); }
        }

        .course-card:hover {
            animation: float 3s ease-in-out infinite;
        }

        /* Particle background for tabs */
        .particles-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: -1;
        }

        .particle {
            position: absolute;
            border-radius: 50%;
            background: var(--advanced);
            opacity: 0;
        }

        /* Responsive adjustments */
        @media (max-width: 1200px) {
            .courses-grid {
                grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            }
        }

        @media (max-width: 768px) {
            .course-tabs .nav-link {
                padding: .4rem .8rem;
                font-size: .9rem;
            }

            .courses-grid {
                grid-template-columns: 1fr;
            }
        }

        /* vedio 1 section  */
        /* ===== Udemy-like sliding cards (theme red) ===== */
.udx-card{
  background:#fff;border:1px solid #eaeaea;border-radius:12px;overflow:hidden;
  box-shadow:0 6px 16px rgba(0,0,0,.06);transition:transform .25s, box-shadow .25s;
}
.udx-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.1)}
.udx-thumb .ratio{--bs-aspect-ratio:56.25%} /* 16:9 */
.udx-thumb img{width:100%;height:100%;object-fit:cover}

.udx-body{padding:16px 16px; gap:.4rem}
.udx-title{font-size:1rem;font-weight:700;line-height:1.35;margin:0 0 .45rem;color:#1f1f1f}
.udx-provider{font-size:.85rem;color:#6b7280;margin-bottom:.5rem; line-height:1.45}

/* Inline caption area inside card (below image) */
.udx-cap{ display:block; margin:0 0 .5rem; padding:.24rem .6rem; font-size:.78rem; font-weight:700;
  color:#fff; background:rgba(229,9,22,.85); border:1px solid rgba(255,255,255,.15); border-radius:999px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
/* Dark theme adjustments */
.udx-cap{ background:linear-gradient(135deg, rgba(229,9,22,.9), rgba(105,11,18,.9)); box-shadow:0 4px 14px rgba(229,9,22,.25); }

/* rating row */
.udx-rating{display:flex;align-items:center;gap:.35rem;color:#111;padding-top:.25rem}
.udx-stars{color:#f59e0b;font-size:.9rem;display:flex;gap:2px}
.udx-rating .score{font-weight:700}
.udx-rating .count{color:#6b7280;font-size:.85rem}

/* price + badges */
.udx-footer{display:flex;align-items:center;gap:.5rem;margin-top:.35rem}
.udx-price{font-weight:800}
.udx-badge{font-size:.75rem;font-weight:700;border-radius:999px;padding:.2rem .6rem;background:#f5f5f5;color:#444}
.udx-badge.theme{background:#e50916;color:#fff}   /* your theme */
.udx-badge.purple{background:#6f42c1;color:#fff}

/* remove old overlay buttons inside these cards only */
.gen-style-2 .udx-card .gen-movie-add,
.gen-style-2 .udx-card .gen-movie-action{display:none!important}
.js-slick-courses .item { padding: 0 15px; }
.slick-list { margin: 0 -15px; }

/* hide optional extra row inside these cards to keep heights equal */
.udx-card .udx-extra{ display:none; }

/* ===== Recent Videos: Category Filters ===== */
.udx-filter-group{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin:-.25rem 0 1rem; }
.udx-filter{ cursor:pointer; user-select:none; padding:.45rem .9rem; border-radius:999px; border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06); color:#fff; font-weight:700; letter-spacing:.2px; transition:.2s ease; }
.udx-filter:hover{ background:rgba(255,255,255,.1); }
.udx-filter.active{ background:linear-gradient(135deg,#e50916,#690b12); border-color:rgba(255,255,255,.24); box-shadow:0 8px 20px rgba(229,9,22,.25); }



  /* === Dark Theme Matching (based on your palette) === */
:root {
  --theme-red: #e50916;
  --bg-dark: #121212;
  --card-bg: #1e1e1e;
  --text-main: #fff;
  --text-muted: #a0a0a0;
  --border-dark: #333;
}

/* Section background */
.gen-section-padding-2 {
  background: var(--bg-dark);
}

/* Card styling */
.udx-card {
  background: var(--card-bg);
  border: 1px solid var(--border-dark);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
  display:flex;             /* equalize height structure */
  flex-direction:column;
  height:100%;
}
.udx-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 28px rgba(229, 9, 22, 0.25);
}

/* Card content text */
.udx-title a,
.udx-title a:visited{
  color:#ffffff !important; /* default white title */
  text-decoration:none;
  font-weight:800;
  display:-webkit-box;           /* clamp to 2 lines */
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.udx-title a:hover{ color:var(--theme-red) !important; }
.udx-card .udx-title{ margin-top:.1rem; }
.udx-body{ display:flex; flex-direction:column; min-height: 230px; }
/* clamp description/provider inside cards so heights match */
.udx-card .udx-provider{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.udx-card .udx-rating{ margin-top:auto; }
.udx-provider {
  color: var(--text-muted);
}
.udx-rating .score,
.udx-rating .count {
  color: var(--text-muted);
}
.udx-stars {
  color: #f5b50a; /* keep yellow for readability */
}

/* Price + badges */
.udx-price {
  color: #4ade80; /* green for contrast */
  font-weight: 700;
}
.udx-badge {
  background: #2a2a2a;
  color: var(--text-muted);
}
.udx-badge.theme {
  background: var(--theme-red);
  color: #fff;
}
.udx-badge.purple {
  background: var(--theme-red);
  color: #fff;
}
/* author label used on first card footer */
.udx-author{
  font-weight:800;
  letter-spacing:.3px;
  background:linear-gradient(90deg,#ffffff,#e50916,#ffb703,#ffffff);
  background-size:300% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  white-space:nowrap;
  animation:udx-author-gradient 4s linear infinite, udx-author-glow 2.2s ease-in-out infinite;
}
@keyframes udx-author-gradient{from{background-position:0% 50%}to{background-position:300% 50%}}
@keyframes udx-author-glow{0%,100%{text-shadow:0 0 6px rgba(229,9,22,.35),0 0 14px rgba(229,9,22,.15)}50%{text-shadow:0 0 10px rgba(229,9,22,.7),0 0 20px rgba(229,9,22,.35)}}

/* Extra row below price (author + CTA) */
.udx-extra{display:none!important}

/* Header + Button */
.gen-heading-title {
  color: var(--text-main);
}
.gen-button-flat {
  background: var(--theme-red);
  color: #fff !important;
  font-weight: 600;
  padding: 0.6rem 1.2rem;
  border-radius: 6px;
}
.gen-button-flat:hover {
  background: #b00610;
}

/* modal pdf form  */



/* Advanced Back-to-top button (uses existing #back-to-top markup) */
#back-to-top {
  position: fixed;
  right: 24px;
  bottom: 32px;
  z-index: 12000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
}

#back-to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

#back-to-top .top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary-color), #ff4b56);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 14px 30px rgba(229, 9, 22, 0.5);
  text-decoration: none;
  overflow: hidden;
}

#back-to-top .top::before {
  content: "";
  position: absolute;
  inset: -40%;
  background: radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.35), transparent 60%);
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

#back-to-top .top i {
  font-size: 22px;
  animation: arrowFloat 1.4s ease-in-out infinite;
}

#back-to-top .top:hover {
  box-shadow: 0 20px 40px rgba(229, 9, 22, 0.7);
}

#back-to-top .top:hover::before {
  opacity: 0.8;
  transform: scale(1);
}

@keyframes arrowFloat {
  0%, 100% { transform: translateY(2px); }
  50% { transform: translateY(-3px); }
}

@media (max-width: 767.98px) {
  /* Lift above the mobile bottom nav and snap to right edge */
  #back-to-top {
    left: auto;
    right: 14px;
    bottom: 16px !important;
    margin-left: 0;
  }

  /* FX Learning Mobile App slick slider: mobile-friendly layout */
  .home-singal-silder .gen-banner-movies .slider-item,
  .home-singal-silder .gen-banner-movies .item {
    height: 360px !important;
  }
  .home-singal-silder .gen-banner-movies .gen-slick-slider .col-lg-6 {
    padding: 14px 16px;
    border-radius: 14px;
  }
  .home-singal-silder .gen-banner-movies .gen-movie-info h3 {
    font-size: 1.25rem;
    line-height: 1.3;
    margin-bottom: 0.35rem;
  }
  .home-singal-silder .gen-banner-movies .gen-movie-info p {
    font-size: 0.85rem;
    line-height: 1.45;
    margin-bottom: 0.6rem;
  }
  .home-singal-silder .gen-banner-movies .gen-movie-action .gen-button {
    padding: 0.55rem 1.1rem;
    font-size: 0.85rem;
    border-radius: 999px;
  }
}

/* card all lesson  */
:root{
  --fx-primary:#da1a27;
  --fx-primary-2:#690b12;
  --fx-text:#ffffff;
  --fx-shadow:rgba(229,9,22,.35);
}

.gen-button.gen-button-flat{
  position: relative;
  display:inline-flex; align-items:center; justify-content:center;
  gap:.6rem;
  padding:.9rem 1.35rem;
  border-radius:999px;
  font-weight:700; letter-spacing:.2px;
  text-decoration:none; color:var(--fx-text);
  background:
    radial-gradient(120% 160% at 20% 10%, rgba(255,255,255,.18), transparent 40%),
    linear-gradient(135deg, var(--fx-primary), var(--fx-primary-2));
  box-shadow:
    0 12px 24px -8px var(--fx-shadow),
    inset 0 1px 0 rgba(255,255,255,.25);
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
  overflow:hidden;
  isolation:isolate;
}

/* Shine sweep */
.gen-button.gen-button-flat::before{
  content:"";
  position:absolute; inset:-200% -50% auto auto;
  width:60%; height:500%;
  transform: rotate(25deg) translateX(-40%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  opacity:.0; pointer-events:none;
  transition: transform .8s ease, opacity .35s ease;
}

/* Hover: lift + stronger glow */
.gen-button.gen-button-flat:hover{
  transform: translateY(-2px);
  box-shadow:
    0 18px 36px -10px var(--fx-shadow),
    inset 0 1px 0 rgba(255,255,255,.35);
  filter: saturate(1.05);
}
.gen-button.gen-button-flat:hover::before{
  opacity:.7; transform: rotate(25deg) translateX(120%);
}

/* Active: press */
.gen-button.gen-button-flat:active{
  transform: translateY(0);
  box-shadow: 0 10px 18px -10px var(--fx-shadow);
}

/* Keyboard focus */
.gen-button.gen-button-flat:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 3px rgba(229,9,22,.25),
    0 8px 18px -8px var(--fx-shadow),
    inset 0 1px 0 rgba(255,255,255,.28);
}

/* Optional icon support */
.gen-button.gen-button-flat .icon{
  display:inline-grid; place-items:center;
  width:1.25rem; height:1.25rem; line-height:1;
}

/* Ripple element (JS adds) */
.gen-button.gen-button-flat .ripple{
  position:absolute; border-radius:50%;
  transform: translate(-50%,-50%) scale(0);
  background: rgba(255,255,255,.45);
  animation: fx-ripple .6s ease-out forwards;
  pointer-events:none;
}

@keyframes fx-ripple{
  to{ transform: translate(-50%,-50%) scale(12); opacity:0; }
}

/* High-contrast / dark bg support */
@media (prefers-contrast: more){
  .gen-button.gen-button-flat{ letter-spacing:.25px; }
}

/* ===== Disable background animations behind Shorts ===== */
.shorts-section::before,
.shorts-section::after,
.shorts-carousel .short-card::before{
  display:none !important;
  content:none !important;
  animation:none !important;
}
.shorts-carousel .short-card{ border:1px solid rgba(255,255,255,.06); }



/* contact ================== */
/* ======================= Contact Page ======================= */



/* Auth button group wrapper */
.auth-group{ display:inline-flex; align-items:center; gap:6px; padding:1px 4px; border-radius:999px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); box-shadow:0 4px 12px rgba(0,0,0,.2); }

/* Navbar layout fixes */
#gen-header .gen-bottom-header .navbar{ flex-wrap:nowrap; align-items:center; }
#gen-header .navbar .collapse{ flex:1 1 auto; min-width:0; }
#gen-header .navbar-nav{ display:flex; align-items:center; gap:10px; white-space:nowrap; }
#gen-header .navbar-nav .menu-item a{ white-space:nowrap; display:inline-block; }
#gen-header .gen-header-info-box{ margin-left:auto; }
@media (max-width: 991.98px){
  #gen-header .gen-header-info-box{ display:none !important; }
}
#gen-main-menu{ margin-left:0 !important; margin-right:auto !important; }
#gen-main-menu .menu-item a{ font-size:.95rem; padding:.25rem .3rem; }
#gen-header .navbar-nav{ display:flex; align-items:center; gap:10px; white-space:nowrap; }
/* Force menu to start right after the logo and reduce li spacing */
header#gen-header .gen-bottom-header .navbar .navbar-nav{ float:none !important; margin-left:0 !important; }
header#gen-header .gen-bottom-header .navbar .navbar-nav li{ margin-right:12px !important; line-height:56px !important; }
header#gen-header .gen-bottom-header .navbar .navbar-brand{ margin-right:12px; }
#gen-main-menu{ margin-left:0 !important; margin-right:auto !important; }
#gen-header .navbar-nav{ gap:12px; }
#gen-main-menu .menu-item a{ padding:.2rem .25rem; }/* Navbar fine-tune: move menu slightly right and tighten gaps */
#gen-main-menu{ margin-left: 10px !important; margin-right:auto !important; }
#gen-header .navbar-nav{ gap:8px !important; }
header#gen-header .gen-bottom-header .navbar .navbar-nav li{ margin-right:8px !important; }
#gen-main-menu .menu-item a{ padding:.18rem .20rem !important; }/* Navbar: nudge menu slightly further right */
#gen-main-menu{ margin-left:16px !important; }/* Strong override: start menu a bit right of logo */
#gen-header .gen-bottom-header .navbar .gen-menu-contain{ padding-left:16px !important; }
#gen-main-menu{ margin-left:0 !important; }
/* Tighter li spacing */
#gen-header .navbar-nav{ gap:6px !important; }
header#gen-header .gen-bottom-header .navbar .navbar-nav li{ margin-right:6px !important; }
#gen-main-menu .menu-item a{ padding:.15rem .20rem !important; }
