/* ==========================================================
   MENTOROID EDUVISOR
   Global UI Component Library
   Version: 1.0
========================================================== */

/* ==========================================================
   BUTTONS
========================================================== */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 28px;
  border:none;
  border-radius:16px;
  cursor:pointer;
  font-size:1rem;
  font-weight:600;
  text-decoration:none;
  transition:all var(--transition-normal);
  position:relative;
  isolation:isolate;
}

.btn:focus-visible{
  outline:2px solid var(--color-primary);
  outline-offset:3px;
}

.btn-primary{
  background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));
  color:#fff;
  box-shadow:0 14px 34px rgba(0,212,255,.28);
}

.btn-primary:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 44px rgba(0,212,255,.38);
}

.btn-secondary{
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
}

.btn-secondary:hover{
  background:rgba(255,255,255,.14);
}

.btn-outline{
  background:transparent;
  color:var(--color-primary);
  border:2px solid var(--color-primary);
}

.btn-outline:hover{
  background:var(--color-primary);
  color:#fff;
}

/* ==========================================================
   CARDS
========================================================== */

.card{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-radius:20px;
  padding:30px;
  transition:all var(--transition-normal);
}

.card:hover{
  transform:translateY(-8px);
  box-shadow:0 18px 40px rgba(0,0,0,.35);
}

.glass-card{
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

/* ==========================================================
   BADGES
========================================================== */

.badge{
  display:inline-flex;
  align-items:center;
  padding:8px 18px;
  border-radius:999px;
  background:rgba(0,212,255,.12);
  color:var(--color-primary);
  font-size:.85rem;
  font-weight:600;
}

/* ==========================================================
   INPUTS
========================================================== */

.input,
textarea,
select{
  width:100%;
  padding:15px 18px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:#fff;
  outline:none;
  transition:all var(--transition-fast);
}

.input:focus,
textarea:focus,
select:focus{
  border-color:var(--color-primary);
  box-shadow:0 0 0 4px rgba(0,212,255,.15);
}

/* ==========================================================
   LABELS
========================================================== */

label{
  display:block;
  margin-bottom:8px;
  font-weight:600;
}

/* ==========================================================
   LINKS
========================================================== */

a{
  color:inherit;
  text-decoration:none;
  transition:color var(--transition-fast);
}

a:hover{
  color:var(--color-primary);
}
/* ============================================================
   NAVBAR
============================================================ */

.navbar{
    position:fixed;
    top:42px;
    left:0;
    width:100%;
    z-index:1000;

    backdrop-filter:blur(18px);

    background:rgba(5,10,25,.72);

    border-bottom:1px solid rgba(255,255,255,.08);

    transition:all var(--transition-normal);
}



/* ============================================================
   MOBILE NAVIGATION
============================================================ */

.nav-toggle{
    display:none;

    width:46px;
    height:46px;

    border:none;
    border-radius:12px;

    cursor:pointer;

    background:rgba(255,255,255,.08);

    color:var(--color-text-primary);

    align-items:center;
    justify-content:center;

    transition:all var(--transition-fast);
}

.nav-toggle:hover{
    background:rgba(255,255,255,.14);
}

.mobile-menu{
    position:fixed;

    top:82px;
    left:0;

    width:100%;

    background:rgba(5,10,25,.98);

    backdrop-filter:blur(18px);

    display:none;

    padding:30px;

    border-top:1px solid rgba(255,255,255,.08);
}

.mobile-menu ul{
    list-style:none;

    display:flex;
    flex-direction:column;

    gap:22px;
}

.mobile-menu a{
    color:var(--color-text-primary);

    font-size:1.05rem;
    font-weight:600;
    display:block;

padding:12px 0;

transition:all var(--transition-fast);
}

.mobile-menu a:hover{

    color:var(--color-primary);

}

.mobile-menu.active{

    display:block;

}
/* ==========================================
   CURRENT NAVBAR LAYOUT
========================================== */

.navbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    max-width:1400px;
    margin:0 auto;
    padding:6px 28px;
}

.logo-area{
    display:flex;
    align-items:center;
    gap:12px;
}

.nav-links{
    display:flex;
    gap:30px;
    list-style:none;
    align-items:center;
}

.nav-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

/* ==========================================================
   PREMIUM BRAND IDENTITY
========================================================== */

.logo-area{
    display:flex;
    align-items:center;
    gap:18px;
}

.logo{
    width:42px;
    height:42px;
    object-fit:contain;
    flex-shrink:0;
}

.logo-text{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.brand-title{
    display:flex;
    align-items:baseline;
    gap:10px;

    margin:0;

    font-size:1.7rem;
    font-weight:800;
    line-height:1;

    color:#ffffff;
}

.brand-title span{

    font-size:1.7rem;
    font-weight:700;

    color:var(--color-primary);

    letter-spacing:.5px;

}

.brand-tagline{

    margin-top:2px;

    font-size:.65rem;

    font-weight:500;

    letter-spacing:1px;

    color:var(--color-text-secondary);

    text-transform:uppercase;

}
/* ==========================================================
   PREMIUM NAVBAR CTA
========================================================== */

.nav-cta{

    display:flex;
    align-items:center;
    justify-content:center;

    padding:12px 18px;

    border-radius:18px;

    background:linear-gradient(135deg,#6A5BFF,#4D8DFF);

    color:#ffffff;

    text-decoration:none;

    box-shadow:0 12px 30px rgba(77,141,255,.28);

    transition:all .35s ease;

}

.nav-cta:hover{

    transform:translateY(-3px);

    box-shadow:0 18px 40px rgba(77,141,255,.45);

}

.cta-content{

    display:flex;

    flex-direction:column;

    gap:6px;

}

.cta-title{

    display:flex;

    align-items:center;

    gap:8px;

    font-size:1rem;

    font-weight:700;

    line-height:1;

}

.cta-arrow{

    font-size:1.1rem;

}

.cta-subtitle{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:.72rem;

    color:rgba(255,255,255,.92);

}

.cta-offer{

    padding:3px 10px;

    border-radius:999px;

    background:#FFD84D;

    color:#111;

    font-size:.65rem;

    font-weight:700;

    white-space:nowrap;

}

/* ==========================================================
   PREMIUM MOVING ANNOUNCEMENT BAR
========================================================== */

.announcement-bar{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:42px;

    overflow:hidden;

    z-index:1200;

    display:flex;

    align-items:center;

    background:linear-gradient(
        90deg,
        #5d4bff,
        #4d6fff,
        #5d4bff
    );

    color:#ffffff;

    border-bottom:1px solid rgba(255,255,255,.12);

}

.announcement-track{

    display:flex;

    width:max-content;

    animation:announcementMove 28s linear infinite;

}

.announcement-content{

    display:flex;

    align-items:center;

    gap:32px;

    white-space:nowrap;

    padding-right:60px;

    font-size:.92rem;

    font-weight:600;

}

.announcement-content span{

    display:inline-flex;

    align-items:center;

}

.announcement-bar:hover .announcement-track{

    animation-play-state:paused;

}

@keyframes announcementMove{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}