*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--site-bg,#07111f);color:#eef5ff}
a{color:inherit;text-decoration:none}
nav{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 7%;border-bottom:1px solid #1c3047;background:#081524}
nav span{display:flex;gap:24px;align-items:center}
nav>a{margin-left:24px}
.hero{min-height:620px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:80px 8%;background:radial-gradient(circle at 75% 35%,#164d70 0,#0a1a2c 45%,#07111f 100%)}
.hero>div{max-width:700px}
.hero-video video{width:100%;border-radius:16px;display:block}
.tag,.pill{color:#62d6ff;font-weight:700;letter-spacing:1px}
.hero h1{font-size:64px;line-height:1.05;margin:15px 0}
.hero p{font-size:19px;color:#aebed0;line-height:1.7}
.btn{display:inline-block;background:#16b9ff;color:#04101c;border:0;border-radius:8px;padding:12px 20px;font-weight:800;margin-top:12px;cursor:pointer}
.section{padding:70px 8%;max-width:1300px;margin:auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.card,.stat{background:#0d1d30;border:1px solid #20354c;border-radius:14px;padding:26px}
.card p{color:#aebed0;line-height:1.6}
.card strong,.stat strong{font-size:25px;display:block;margin:15px 0}
.stat small{color:#9eb0c4}
.auth{min-height:100vh;display:grid;place-items:center;padding:20px}
.auth form{width:min(420px,100%)}
input{width:100%;padding:14px;margin:8px 0;border-radius:8px;border:1px solid #29435e;background:#081524;color:white;font-size:16px}
.error{background:#4b1c25;padding:10px;border-radius:8px;color:#ffb8c0}
footer{text-align:center;padding:30px;color:#8294a9;border-top:1px solid #1c3047}
.home-box{max-width:none;margin:0;padding-top:45px;padding-bottom:45px}
.home-box .card{max-width:1100px;margin:auto}
.home-media img,.home-media video,.hero-video img{width:100%;max-height:520px;object-fit:contain;border-radius:16px;display:block}
.floating-btn{position:fixed !important;top:auto !important;bottom:20px !important;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2147483647;text-decoration:none;box-shadow:0 8px 25px rgba(0,0,0,.25);transform:none !important;overflow:hidden}
.floating-btn i{line-height:1}
@media(max-width:650px){.home-summary-image{height:220px}.home-card-summary{width:100%;}.floating-btn{bottom:20px !important;}}
.home-summary-image{width:100%;height:280px;margin:18px 0;overflow:hidden;border-radius:14px;background:#081524;display:flex;align-items:center;justify-content:center}
.home-summary-image img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;display:block}
.home-summary-image + .btn{position:relative;z-index:2}
.home-card-summary{overflow:hidden}
.home-card-summary > *{max-width:100%}
.home-summary-video{height:120px;margin:18px 0;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#081524;color:#eef5ff;gap:8px}
.home-summary-video span{font-size:42px}
.home-summary-video small{color:#aebed0}
.home-card-summary h2{margin-top:0}
.home-detail{max-width:1000px;margin:auto}
.home-detail .home-media{margin:20px 0}
.home-detail .home-media img,.home-detail .home-media video{max-height:650px;object-fit:contain}
.detail-description{font-size:18px;line-height:1.8;margin:24px 0;color:inherit;white-space:normal}
@media(max-width:650px){
  .mobile-nav-link{display:inline-block !important}
  .hero{grid-template-columns:1fr}
  .hero h1{font-size:43px}
  nav{padding:0 4%}
  nav span a:not(.btn){display:inline-block}
}

.course-summary-image{width:100%;height:220px;margin:-2px 0 18px;overflow:hidden;border-radius:10px;background:#081524}.course-summary-image img{width:100%;height:100%;object-fit:contain;display:block}.mobile-nav-link{display:inline-block}
.site-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:8px 7%;border-bottom:1px solid #1c3047;gap:20px;flex-wrap:wrap}.site-header .brand{display:flex;align-items:center;gap:12px}.site-header .site-logo{max-height:48px;max-width:180px;width:auto;height:auto;object-fit:contain}.site-header b{font-size:18px}.site-header span{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.site-footer{border-top:1px solid #1c3047;min-height:70px}.student-extra-nav{padding:8px 7%;text-align:right;background:inherit}.student-extra-nav a{color:#62d6ff}@media(max-width:650px){.site-header{padding:10px 4%;align-items:center}.site-header span{gap:10px}.site-header .site-logo{max-height:40px;max-width:130px}.site-header b{font-size:15px}}

/* Home page statistics */
.home-stats{padding:22px 0 18px;background:transparent;}
.stats-row{width:min(1100px,94%);margin:0 auto;display:flex;gap:16px;align-items:stretch;justify-content:center;}
.stat-box{flex:1;min-width:0;background:#0d1d30;border:1px solid #29435e;border-radius:14px;padding:18px 12px;text-align:center;box-sizing:border-box;box-shadow:0 8px 24px rgba(0,0,0,.12);}
.stat-box strong{display:block;font-size:28px;line-height:1.15;color:#eef5ff;margin-bottom:7px;}
.stat-box span{display:block;font-size:14px;color:#aebed0;font-weight:600;}
@media (max-width:600px){.stats-row{gap:8px;width:96%;}.stat-box{padding:14px 6px;border-radius:11px;}.stat-box strong{font-size:20px;}.stat-box span{font-size:11px;}}

/* Student Dashboard */
.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0 38px}.dash-stat{background:#0d1d30;border:1px solid #20354c;border-radius:14px;padding:20px;text-align:center}.dash-stat strong{display:block;font-size:30px;color:#eef5ff;margin-bottom:7px}.dash-stat span{color:#aebed0;font-size:14px;font-weight:600}.dashboard-course{min-width:0}.progress-head{display:flex;justify-content:space-between;align-items:center;margin-top:18px;color:#aebed0;font-size:14px}.progress-head strong{font-size:15px;color:#62d6ff;margin:0}.progress-track{height:10px;background:#081524;border:1px solid #20354c;border-radius:999px;overflow:hidden;margin:8px 0 6px}.progress-fill{height:100%;background:#16b9ff;border-radius:999px;transition:width .25s ease}
@media(max-width:800px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.dashboard-stats{grid-template-columns:repeat(2,1fr);gap:8px}.dash-stat{padding:14px 7px}.dash-stat strong{font-size:23px}.dash-stat span{font-size:11px}}

.course-progress-box{margin:20px 0;padding:18px;border:1px solid #20354c;border-radius:12px;background:rgba(8,21,36,.65)}.course-progress-box small{display:block;color:#aebed0;margin-top:8px}.course-progress-box .progress-head{margin-top:0}

/* Student dashboard menu and mobile header visibility */
.student-dashboard-menu{width:min(1200px,92%);margin:12px auto 0;padding:10px 14px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;background:rgba(8,21,36,.72);border:1px solid #20354c;border-radius:12px}
.student-dashboard-menu a{padding:8px 12px;border-radius:8px;color:#eef5ff;font-weight:700;font-size:14px}
.student-dashboard-menu a:hover{background:#16304a}
@media(max-width:650px){
 .site-header{flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:10px 4%;}
 .site-header .brand{justify-content:center;width:100%;}
 .site-header .site-nav-links{width:100%;display:flex !important;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 10px !important;}
 .site-header .site-nav-links a{display:inline-flex !important;align-items:center;justify-content:center;white-space:nowrap;padding:7px 8px;}
 .site-header .site-nav-links .btn{margin-top:0;}
 .student-dashboard-menu{width:96%;gap:5px;padding:8px 6px;justify-content:center;}
 .student-dashboard-menu a{font-size:12px;padding:7px 8px;}
}


/* V21 MOBILE HEADER FIX - keep existing desktop layout unchanged */
@media (max-width:650px){
  .site-header{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    width:100% !important;
    min-height:0 !important;
    padding:8px 10px 10px !important;
    gap:6px !important;
    flex-wrap:nowrap !important;
  }
  .site-header .brand{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-width:0 !important;
  }
  .site-header .site-nav-links{
    width:100% !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    margin:0 !important;
  }
  .site-header .site-nav-links a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    margin:0 !important;
    padding:7px 9px !important;
  }
  .site-header .site-nav-links .btn{margin:0 !important;}
  .site-header .site-logo{max-width:42px !important;max-height:36px !important;}
  .site-header b{font-size:14px !important;line-height:1.15 !important;}
}

/* V22: admin-controlled logo sizing with mobile viewport safety */
@media(max-width:650px){.site-header .site-logo{max-width:55vw !important;max-height:80px !important;}}

/* V22 requested: Home/Login/Join Now are individually admin-colored action buttons. */
.site-nav-links .nav-action{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid rgba(255,255,255,.16);border-radius:8px;font-weight:800;line-height:1.1;white-space:nowrap;margin:0;}
.site-nav-links .nav-home-action,.site-nav-links .nav-login-action,.site-nav-links .nav-join-action{margin-top:0;}
/* Keep the three homepage statistics visibly bordered. */
.stat-box{border:2px solid #29435e;}
@media(max-width:650px){.site-header .site-nav-links .nav-action{padding:7px 10px;}}


/* V25 PER-ITEM MOTION */
.motion-item{transition:transform var(--motion-speed,.25s) ease,box-shadow var(--motion-speed,.25s) ease,filter var(--motion-speed,.25s) ease;will-change:transform}
.motion-item[data-motion-effect="lift"]:hover{transform:translateY(-5px) scale(var(--motion-scale,1.03));box-shadow:0 12px 30px rgba(0,0,0,.22)}
.motion-item[data-motion-effect="zoom"]:hover{transform:scale(var(--motion-scale,1.03));box-shadow:0 10px 28px rgba(0,0,0,.20)}
.motion-item[data-motion-effect="rotate"]:hover{transform:translateY(-2px) scale(var(--motion-scale,1.03)) rotate(.5deg);box-shadow:0 10px 28px rgba(0,0,0,.20)}
.motion-item[data-motion-effect="glow"]:hover{transform:translateY(-3px) scale(var(--motion-scale,1.03));box-shadow:0 0 0 2px rgba(98,214,255,.18),0 12px 32px rgba(22,185,255,.28);filter:brightness(1.06)}
@keyframes f28Lift{from{transform:translateY(0) scale(1)}to{transform:translateY(-5px) scale(var(--motion-scale,1.03))}}
@keyframes f28Zoom{from{transform:scale(1)}to{transform:scale(var(--motion-scale,1.03))}}
@keyframes f28Rotate{from{transform:translateY(0) rotate(0deg) scale(1)}to{transform:translateY(-2px) rotate(.5deg) scale(var(--motion-scale,1.03))}}
@keyframes f28Glow{from{transform:translateY(0) scale(1);filter:brightness(1);box-shadow:none}to{transform:translateY(-3px) scale(var(--motion-scale,1.03));filter:brightness(1.06);box-shadow:0 0 0 2px rgba(98,214,255,.18),0 12px 32px rgba(22,185,255,.28)}}
@media(max-width:700px){.motion-item[data-motion-effect=lift]{animation:f28Lift var(--motion-speed,.8s) ease-in-out infinite alternate}.motion-item[data-motion-effect=zoom]{animation:f28Zoom var(--motion-speed,.8s) ease-in-out infinite alternate}.motion-item[data-motion-effect=rotate]{animation:f28Rotate var(--motion-speed,.8s) ease-in-out infinite alternate}.motion-item[data-motion-effect=glow]{animation:f28Glow var(--motion-speed,.8s) ease-in-out infinite alternate}}
@media(prefers-reduced-motion:reduce){.motion-item{transition:none!important;transform:none!important;animation:none!important}}
@media(max-width:700px){nav{height:auto;min-height:64px;padding:10px 4%;gap:8px}nav span{gap:8px;flex-wrap:wrap;justify-content:flex-end}nav span a{font-size:12px}.section{padding:42px 4%}.hero{padding:52px 5%;min-height:auto}.hero h1{font-size:40px;word-break:break-word}.grid{grid-template-columns:1fr}.card{min-width:0}.home-box{padding-top:30px;padding-bottom:30px}.stats-row{flex-wrap:wrap}.stat-box{flex:1 1 30%}}


/* FINAL 30: Home reviews — one student per line, 5 initially, 10 more per click */
.student-reviews-home .reviews-list{display:flex;flex-direction:column;gap:12px;width:100%;}
.student-reviews-home .review-home-card{
  width:100%;box-sizing:border-box;margin:0;border:1px solid #20354c;border-radius:12px;
  background:#0d1d30;padding:16px;min-width:0;align-items:center;
}
.student-reviews-home .review-home-card.review-hidden{display:none;}
.student-reviews-home .review-home-card.horizontal{
  display:grid;grid-template-columns:minmax(140px,180px) minmax(160px,220px) minmax(260px,1fr) 110px;
  gap:16px;
}
.student-reviews-home .review-home-card.vertical{
  display:grid;grid-template-columns:minmax(140px,180px) minmax(160px,220px) minmax(260px,1fr) 110px;
  gap:16px;
}
.student-reviews-home .review-home-card h3{margin:0;font-size:17px;min-width:0;overflow-wrap:anywhere;}
.student-reviews-home .review-home-card p{margin:0;line-height:1.5;min-width:0;overflow-wrap:anywhere;}
.student-reviews-home .review-home-card small{margin:0;line-height:1.4;min-width:0;overflow-wrap:anywhere;}
.student-reviews-home .review-home-card .review-rating{font-size:19px;white-space:nowrap;text-align:right;}
.student-reviews-home .review-more-btn{display:block;margin:18px auto 0;}
@media(max-width:800px){
  .student-reviews-home .review-home-card.horizontal,
  .student-reviews-home .review-home-card.vertical{
    grid-template-columns:minmax(110px,150px) minmax(120px,180px) minmax(180px,1fr) 95px;
    gap:10px;padding:14px;
  }
  .student-reviews-home .review-home-card h3{font-size:15px;}
  .student-reviews-home .review-home-card p{font-size:14px;}
  .student-reviews-home .review-home-card small{font-size:12px;}
  .student-reviews-home .review-home-card .review-rating{font-size:17px;}
}
@media(max-width:520px){
  .student-reviews-home .review-home-card.horizontal,
  .student-reviews-home .review-home-card.vertical{
    grid-template-columns:100px 120px minmax(180px,1fr) 90px;
    min-width:490px;
  }
}

.footer-socials{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:18px}.footer-social{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;transition:transform .2s ease,opacity .2s ease}.footer-social svg{width:23px;height:23px;display:block}.footer-social:hover{transform:translateY(-2px);opacity:.9}.footer-social.instagram{background:#E1306C}.footer-social.telegram{background:#229ED9}.footer-social.youtube{background:#FF0000}

/* FINAL TAP/DROPDOWN FIX: keep More-menu links stacked inside the dropdown on touch/tablet/mobile. */
.site-header .site-nav-links .site-more-menu{position:relative;display:inline-block;flex:0 0 auto;}
.site-header .site-nav-links .site-more-dropdown{position:absolute;right:0;top:calc(100% + 8px);display:none;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;z-index:2147483000;min-width:210px;box-sizing:border-box;}
.site-header .site-nav-links .site-more-menu.open .site-more-dropdown{display:flex !important;}
.site-header .site-nav-links .site-more-dropdown a,
.site-header .site-nav-links .site-more-dropdown a:hover,
.site-header .site-nav-links .site-more-dropdown a:focus,
.site-header .site-nav-links .site-more-dropdown a:active{display:flex !important;position:static !important;width:100% !important;box-sizing:border-box !important;align-items:center !important;justify-content:flex-start !important;white-space:nowrap !important;flex:0 0 auto !important;margin:0 !important;padding:10px 12px !important;border-radius:7px !important;background:transparent !important;}
.site-header .site-nav-links .site-more-dropdown a:hover{background:#16304a !important;}
@media(max-width:900px){
 .site-header .site-nav-links .site-more-dropdown{right:0;min-width:210px;max-width:calc(100vw - 20px);}
}
@media(max-width:650px){
 .site-header .site-nav-links .site-more-dropdown{right:-4px;top:calc(100% + 6px);min-width:205px;}
 .site-header .site-nav-links .site-more-dropdown a{font-size:13px !important;line-height:1.2 !important;padding:10px 12px !important;}
}

/* TABLET ONLY FIX: keep the More dropdown below the full navigation row.
   Desktop and mobile layouts remain unchanged. */
@media (min-width:651px) and (max-width:1024px){
  .site-header{position:relative !important;z-index:100000 !important;}
  .site-header .site-nav-links .site-more-menu{position:static !important;}
  .site-header .site-nav-links .site-more-dropdown,
  .site-header .site-nav-links .site-more-menu.open .site-more-dropdown{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    right:12px !important;
    left:auto !important;
    width:240px !important;
    min-width:240px !important;
    max-width:calc(100vw - 24px) !important;
    display:none !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:6px !important;
    box-sizing:border-box !important;
    z-index:2147483647 !important;
  }
  .site-header .site-nav-links .site-more-menu.open .site-more-dropdown{
    display:flex !important;
  }
  .site-header .site-nav-links .site-more-dropdown a,
  .site-header .site-nav-links .site-more-dropdown a:hover,
  .site-header .site-nav-links .site-more-dropdown a:focus,
  .site-header .site-nav-links .site-more-dropdown a:active{
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:flex-start !important;
    white-space:nowrap !important;
    margin:0 !important;
    padding:11px 13px !important;
    font-size:14px !important;
    line-height:1.25 !important;
  }
}

/* TABLET FINAL FIX: separate the brand row from the navigation row.
   This prevents the tablet header from retaining the base nav height and
   overlapping the homepage shortcut buttons. Desktop and mobile are untouched. */
@media (min-width:651px) and (max-width:1024px){
  .site-header{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:10px 5% 12px !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
    overflow:visible !important;
  }
  .site-header .brand{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-width:0 !important;
  }
  .site-header .site-nav-links{
    width:100% !important;
    min-width:0 !important;
    flex:0 0 auto !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px 12px !important;
    margin:0 !important;
  }
  .site-header .site-nav-links > a,
  .site-header .site-nav-links > .site-more-menu{
    flex:0 0 auto !important;
  }
  .home-trading-shortcuts{
    position:relative !important;
    z-index:1 !important;
    clear:both !important;
    margin-top:0 !important;
  }
}

/* V26: descriptions shown immediately before View buttons */
.before-view-description{margin:16px 0 4px;padding:14px 16px;border:1px solid #29435e;border-radius:10px;background:#081524;color:#aebed0;line-height:1.7;text-align:left;white-space:normal}

.course-action-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 4px;flex-wrap:wrap}.course-price-box{display:inline-flex;align-items:center;min-height:46px;padding:8px 14px;border:1px solid #29435e;border-radius:8px;background:#081524;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}.course-price{margin:0;font-size:20px;font-weight:800;text-align:left;white-space:nowrap}.course-view-btn{display:inline-block;margin:0}.course-action-row .course-view-btn{flex:0 0 auto}.course-action-row .course-view-btn.btn{margin-top:0;padding:12px 20px;border-radius:8px;font-weight:800}.course-action-row .course-view-btn.motion-item{will-change:transform}@media(max-width:520px){.course-action-row{align-items:center}.course-action-row .course-view-btn{width:auto}.course-price{font-size:19px}.course-price-box{min-height:44px;padding:7px 12px}}

/* FINAL: keep each Home/Course preview image + description inside one unified frame. */
.course-content-frame,.home-content-frame{width:100%;overflow:hidden;border:1px solid #29435e;border-radius:10px;background:#081524;margin:14px 0 4px;padding:0;}
.course-content-frame .course-summary-image,.home-content-frame .home-summary-image,.home-content-frame .home-summary-video{margin:0;border:0;border-radius:0;}
.course-content-frame .before-view-description,.home-content-frame .before-view-description{margin:0;border:0;border-radius:0;background:transparent;padding:14px 16px;}
.home-resource-card .home-content-frame{margin:0 0 12px;}
.home-resource-card .before-view-description{margin:0;border:0;border-radius:0;background:transparent;}
