/* ===========================================================
   NEXORA PREMIUM DESIGN SYSTEM
   Version 1.0
   Global UI Framework
=========================================================== */

/* ===========================
   ROOT VARIABLES
=========================== */

:root{

    /* Brand */

    --primary:#0B1F3A;
    --primary-light:#163A70;
    --accent:#D4AF37;
    --accent-light:#F5E8B5;

    /* Surfaces */

    --background:#F7F9FC;
    --surface:#FFFFFF;
    --glass:rgba(255,255,255,.55);

    /* Text */

    --text:#14213D;
    --muted:#72809A;

    /* Status */

    --success:#16A34A;
    --warning:#F59E0B;
    --danger:#DC2626;

    /* Radius */

    --radius-xs:12px;
    --radius-sm:18px;
    --radius-md:24px;
    --radius-lg:32px;
    --radius-xl:40px;

    /* Shadows */

    --shadow-sm:
    0 8px 20px rgba(0,0,0,.06);

    --shadow-md:
    0 18px 40px rgba(0,0,0,.08);

    --shadow-lg:
    0 25px 60px rgba(0,0,0,.12);

    /* Transition */

    --transition:.25s ease;

}

/* ===========================
   RESET
=========================== */

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:"Poppins",sans-serif;

    background:
    radial-gradient(circle at top,#ffffff,#F7F9FC 70%);

    color:var(--text);

    overflow-x:hidden;

    min-height:100vh;

}

/* ===========================
   PAGE CONTAINER
=========================== */

.page{

    width:100%;

    max-width:1400px;

    margin:auto;

    padding:22px;

}

/* ===========================
   TYPOGRAPHY
=========================== */

.page-title{

    font-size:42px;
    font-weight:800;
    color:var(--text);

}

.section-title{

    font-size:26px;
    font-weight:700;
    color:var(--text);

}

.card-title{

    font-size:20px;
    font-weight:700;

}

.card-text{

    font-size:15px;
    line-height:1.7;
    color:var(--muted);

}

.small{

    font-size:13px;
    color:var(--muted);

}

/* ===========================
   GLASS CARD
=========================== */

.glass-card{

    background:var(--glass);

    backdrop-filter:blur(25px);
    -webkit-backdrop-filter:blur(25px);

    border:1px solid rgba(255,255,255,.45);

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow-md);

}

/* ===========================
   STANDARD CARD
=========================== */

.card{

    background:#fff;

    border-radius:var(--radius-md);

    padding:20px;

    border:1px solid rgba(212,175,55,.15);

    box-shadow:var(--shadow-sm);

}

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

.btn{

    display:inline-flex;

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

    gap:10px;

    border:none;

    cursor:pointer;

    text-decoration:none;

    border-radius:18px;

    padding:15px 22px;

    font-weight:700;

    transition:var(--transition);

}

.btn:hover{

    transform:translateY(-2px);

}

.btn-primary{

    background:

    linear-gradient(
    135deg,
    var(--primary),
    var(--primary-light)
    );

    color:#fff;

}

.btn-secondary{

    background:#fff;

    color:var(--primary);

    border:1px solid rgba(212,175,55,.35);

}

.btn-gold{

    background:var(--accent);

    color:var(--primary);

}

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

input,
textarea,
select{

    width:100%;

    padding:16px 18px;

    border-radius:18px;

    border:1px solid rgba(212,175,55,.25);

    background:#fff;

    font-family:inherit;

    font-size:15px;

    outline:none;

}

input:focus,
textarea:focus,
select:focus{

    border-color:var(--primary);

}

/* ===========================
   AVATAR
=========================== */

.avatar{

    width:70px;
    height:70px;

    border-radius:50%;

    display:flex;

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

    background:

    linear-gradient(
    135deg,
    var(--primary),
    var(--primary-light)
    );

    color:#fff;

    font-weight:700;

    flex-shrink:0;

}

/* ===========================
   HERO
=========================== */

.hero{

    margin-bottom:28px;

    padding:34px;

    border-radius:34px;

    background:var(--glass);

    backdrop-filter:blur(24px);

    box-shadow:var(--shadow-md);

}

.hero h1{

    font-size:48px;
    font-weight:800;

}

.hero p{

    margin-top:12px;

    color:var(--muted);

    line-height:1.7;

}

/* ===========================
   GRID
=========================== */

.grid{

    display:grid;

    gap:20px;

}

.grid-2{

    grid-template-columns:repeat(2,1fr);

}

.grid-3{

    grid-template-columns:repeat(3,1fr);

}

.grid-4{

    grid-template-columns:repeat(4,1fr);

}

/* ===========================
   FLEX
=========================== */

.flex{

    display:flex;

}

.flex-center{

    display:flex;

    align-items:center;

    justify-content:center;

}

.flex-between{

    display:flex;

    align-items:center;

    justify-content:space-between;

}

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

.badge{

    display:inline-flex;

    align-items:center;

    padding:6px 14px;

    border-radius:999px;

    background:#EEF4FF;

    color:#1D4ED8;

    font-size:12px;

    font-weight:700;

}

/* ===========================
   UTILITIES
=========================== */

.rounded{

    border-radius:24px;

}

.shadow{

    box-shadow:var(--shadow-md);

}

.hidden{

    display:none!important;

}

.text-center{

    text-align:center;

}

.mt-10{

    margin-top:10px;

}

.mt-20{

    margin-top:20px;

}

.mt-30{

    margin-top:30px;

}

.mb-20{

    margin-bottom:20px;

}

.w-100{

    width:100%;

}

/* ===========================
   ANIMATIONS
=========================== */

.fade-up{

    animation:fadeUp .4s ease;

}

.pop{

    animation:pop .25s ease;

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(15px);

}

to{

opacity:1;

transform:none;

}

}

@keyframes pop{

from{

opacity:0;

transform:scale(.95);

}

to{

opacity:1;

transform:scale(1);

}

}

/* ===========================
   SCROLLBAR
=========================== */

::-webkit-scrollbar{

    width:8px;

}

::-webkit-scrollbar-thumb{

    background:#d0d6df;

    border-radius:999px;

}

/* ===========================
   RESPONSIVE
=========================== */

@media(max-width:1024px){

.page{

    max-width:900px;

}

}

@media(max-width:768px){

.page{

    padding:18px;

}

.page-title{

    font-size:36px;

}

.hero{

    padding:28px;

}

.grid-4{

    grid-template-columns:repeat(2,1fr);

}

.grid-3{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:480px){

.page-title{

    font-size:30px;

}

.section-title{

    font-size:22px;

}

.hero{

    padding:24px;

}

.grid-2,
.grid-3,
.grid-4{

    grid-template-columns:1fr;

}

}