/* ==========================================================
GlobalBridgeUAE.com  / UAE HEALTHCARE RECRUITMENT
Premium Healthcare Recruitment Design System
========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
/* Brand Colors */
--primary: #0f2747;
--primary-dark: #08182d;
--accent: #11a88a;
--accent-dark: #0b8f75;

--text: #1f2937;
--text-light: #6b7280;

--white: #ffffff;
--bg: #f8fafc;
--surface: #ffffff;
--border: #e5e7eb;

/* Shadows */
--shadow-sm: 0 8px 20px rgba(0,0,0,.05);
--shadow-md: 0 18px 40px rgba(0,0,0,.08);
--shadow-lg: 0 30px 80px rgba(0,0,0,.12);

/* Radius */
--radius-sm: 12px;
--radius-md: 20px;
--radius-lg: 32px;
--radius-xl: 42px;

/* Container */
--container: 1280px;

/* Transition */
--transition: all .3s ease;

}

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

*,
*::before,
*::after{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Plus Jakarta Sans',sans-serif;
color:var(--text);
background:var(--bg);
line-height:1.7;
overflow-x:hidden;
}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
color:inherit;
}

ul{
list-style:none;
}

button,
input,
textarea,
select{
font-family:inherit;
}

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

h1,h2,h3,h4,h5{
font-family:'Outfit',sans-serif;
font-weight:700;
line-height:1.1;
color:var(--primary);
}

h1{
font-size:clamp(3rem,6vw,6rem);
}

h2{
font-size:clamp(2.2rem,4vw,4rem);
}

h3{
font-size:1.4rem;
}

p{
color:var(--text-light);
}

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

.container{
width:min(92%, var(--container));
margin:auto;
}

.section{
padding:8rem 0;
}

.section-title{
max-width:700px;
margin-bottom:3rem;
}

.badge{
display:inline-flex;
align-items:center;
gap:.5rem;
padding:.65rem 1rem;
background:rgba(17,168,138,.12);
color:var(--accent);
border-radius:999px;
font-size:.85rem;
font-weight:600;
margin-bottom:1rem;
}

.text-center{
text-align:center;
}

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

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:.5rem;
padding:1rem 1.75rem;
border-radius:999px;
font-weight:600;
transition:var(--transition);
}

.btn-primary{
background:var(--accent);
color:white;
}

.btn-primary:hover{
background:var(--accent-dark);
transform:translateY(-3px);
}

.btn-outline{
border:1.5px solid rgba(255,255,255,.4);
color:white;
}

.btn-outline-dark{
border:1.5px solid var(--primary);
color:var(--primary);
}

.btn-outline-dark:hover{
background:var(--primary);
color:white;
}

/* ==========================================================
NAVBAR
========================================================== */

.navbar{
position:fixed;
top:0;
left:0;
width:100%;
z-index:999;
backdrop-filter:blur(18px);
background:rgba(255,255,255,.75);
border-bottom:1px solid rgba(255,255,255,.4);
}

.nav-wrapper{
display:flex;
align-items:center;
justify-content:space-between;
padding:1.2rem 0;
}

.logo{
font-family:'Outfit',sans-serif;
font-size:1.4rem;
font-weight:800;
color:var(--primary);
}

.logo span{
color:var(--accent);
}

.nav-links{
display:flex;
gap:2rem;
}

.nav-links a{
position:relative;
font-weight:500;
}

.nav-links a::after{
content:'';
position:absolute;
left:0;
bottom:-6px;
width:0;
height:2px;
background:var(--accent);
transition:var(--transition);
}

.nav-links a:hover::after{
width:100%;
}

.nav-actions{
display:flex;
gap:1rem;
}

.mobile-toggle{
display:none;
}

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

.hero{
padding-top:12rem;
padding-bottom:7rem;
position:relative;
}

.hero-grid{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:4rem;
align-items:center;
}

.hero h1{
margin-bottom:1.5rem;
}

.hero h1 span{
color:var(--accent);
}

.hero p{
font-size:1.15rem;
max-width:650px;
}

.hero-actions{
display:flex;
gap:1rem;
margin-top:2rem;
}

.hero-visual{
position:relative;
height:620px;
}

.hero-card{
position:absolute;
border-radius:var(--radius-lg);
box-shadow:var(--shadow-lg);
}

.card-main{
width:85%;
height:500px;
right:0;
background:linear-gradient(135deg,#dff8f1,#ffffff);
}

.card-offset{
width:280px;
height:220px;
bottom:0;
left:0;
background:var(--primary);
}

/* ==========================================================
FEATURES
========================================================== */

.feature-grid{
display:grid;
grid-template-columns:repeat(12,1fr);
gap:1.5rem;
}

.feature-card{
background:white;
padding:2rem;
border-radius:var(--radius-md);
box-shadow:var(--shadow-sm);
transition:var(--transition);
}

.feature-card:hover{
transform:translateY(-8px);
}

.feature-card.large{
grid-column:span 6;
}

.feature-card.medium{
grid-column:span 3;
}

.feature-card.tall{
min-height:320px;
}

/* ==========================================================
STATS
========================================================== */

.stats{
background:var(--primary);
color:white;
}

.stats-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2rem;
}

.stat{
text-align:center;
}

.stat h2{
color:white;
}

/* ==========================================================
CTA BANNER
========================================================== */

.cta-banner{
background:linear-gradient(
135deg,
var(--primary),
#14325d
);
color:white;
border-radius:var(--radius-xl);
padding:4rem;
position:relative;
overflow:hidden;

}

.cta-banner h2{
color:white;
margin-bottom:1rem;
}

.cta-banner p{
color:rgba(255,255,255,.8);
}

/* ==========================================================
FOOTER
========================================================== */

.footer{
background:var(--primary-dark);
color:white;
padding:5rem 0 2rem;
}

.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:3rem;
}

.footer p{
color:rgba(255,255,255,.75);
}

/* ==========================================================
AUTH PAGES
========================================================== */

.auth-layout{
min-height:100vh;
display:grid;
grid-template-columns:1fr 1fr;
}

.auth-left{
background:linear-gradient(
135deg,
var(--primary),
#183863
);
color:white;
display:flex;
align-items:center;
justify-content:center;
padding:5rem;

}

.auth-left h1{
color:white;
margin-bottom:1rem;
}

.auth-left h2,
.auth-left h3,
.auth-left h4,
.auth-left p,
.auth-left small,
.auth-left li{
color:rgba(255,255,255,.84);
}

.auth-left .badge{
background:rgba(255,255,255,.12);
color:white;
}

.auth-right{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
}

.auth-card{
    width:min(100%,420px);
    margin:auto;
}

.form-group{
position:relative;
margin-bottom:2rem;
}

.form-control{
width:100%;
border:none;
border-bottom:1.5px solid var(--border);
padding:1rem 0;
outline:none;
background:transparent;
}

.form-label{
position:absolute;
left:0;
top:1rem;
transition:var(--transition);
color:#9ca3af;
}

.form-control:focus + .form-label,
.form-control:not(:placeholder-shown)+.form-label{
top:-12px;
font-size:.8rem;
color:var(--accent);
}

.role-switch{
display:flex;
background:#f3f4f6;
padding:.4rem;
border-radius:999px;
margin-bottom:2rem;
}

.role-switch button{
flex:1;
border:none;
background:none;
padding:.8rem;
border-radius:999px;
cursor:pointer;
}

.role-switch .active{
background:white;
box-shadow:var(--shadow-sm);
}

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

@media(max-width:992px){
.hero-grid,
.auth-layout{
    grid-template-columns:1fr;
}

.hero-visual{
    height:420px;
}

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

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

.feature-card.large,
.feature-card.medium{
    grid-column:span 12;
}

.nav-links,
.nav-actions{
    display:none;
}

.mobile-toggle{
    display:block;
    font-size:1.5rem;
    cursor:pointer;
}

}

@media(max-width:768px){

.section{
    padding:5rem 0;
}

.hero{
    padding-top:8rem;
}

.cta-banner{
    padding:2rem;
}

}

.service-card {
    position: relative;
    overflow: hidden;
}

.service-card::before {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
        135deg,
        rgba(17,168,138,.05),
        transparent
    );
    opacity:0;
    transition:.4s ease;
}

.service-card:hover::before {
    opacity:1;
}

.auth-left {
    position: relative;
    overflow: hidden;
}

.auth-left::before{
    content:'';
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    background:rgba(255,255,255,.05);
    top:-150px;
    right:-150px;
}

.auth-left::after{
    content:'';
    position:absolute;
    width:350px;
    height:350px;
    border-radius:50%;
    background:rgba(255,255,255,.04);
    bottom:-120px;
    left:-120px;
}

.auth-card{
    background:white;
    padding:3rem;
    border-radius:32px;
    box-shadow:
        0 20px 50px rgba(15,39,71,.08);
}

.auth-card button:hover{
    transform:translateY(-2px);
}

.form-control:focus{
    border-color:var(--accent);
}

.role-switch button.active{
    background:white;
    color:var(--primary);
    font-weight:700;
    box-shadow:0 10px 25px rgba(15,39,71,.08);
}

.auth-card{
    position:relative;
}

.auth-card::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:4px;
    background:linear-gradient(
        90deg,
        var(--accent),
        #14b8a6
    );
    border-radius:32px 32px 0 0;
}

/* Mobile Login Center Fix */
@media (max-width: 768px) {

    .auth-layout {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
    }

    .auth-left {
        display: none; /* Hide hero section on mobile */
    }

    .auth-right {
        width: 100%;
        min-height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 20px;
    }

    .auth-card {
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
        box-sizing: border-box;
    }

}



.mobile-toggle{
    display:none;
    cursor:pointer;
    font-size:1.5rem;
}

.mobile-menu{
    display:none;
    flex-direction:column;
    background:#fff;
    border-top:1px solid #e5e7eb;
    padding:1rem;
}

.mobile-menu a{
    padding:12px 0;
    text-decoration:none;
    color:#111827;
    font-weight:500;
}

.mobile-menu.active{
    display:flex;
}

@media(max-width:768px){

    .nav-links,
    .nav-actions{
        display:none;
    }

    .mobile-toggle{
        display:block;
    }
}