/* ==========================================================
   INFOWORLD V2
   PAGE.CSS
========================================================== */

/* =====================================
   PAGE
===================================== */

.page{

    padding:40px 0 70px;

    background:#fff;

}

.page .container{

    max-width:1200px;

    margin:auto;

    padding:0 20px;

}

/* =====================================
   BREADCRUMB
===================================== */

.breadcrumb{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:30px;

    font-size:.9rem;

    color:#64748b;

}

.breadcrumb a{

    color:var(--primary);

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.breadcrumb a:hover{

    text-decoration:underline;

}

/* =====================================
   PAGE HEADER
===================================== */

.page-header{

    text-align:center;

    margin-bottom:60px;

    padding-bottom:40px;

    border-bottom:1px solid var(--border);

}

.page-label{

    display:inline-block;

    padding:8px 18px;

    background:var(--primary);

    color:#fff;

    border-radius:999px;

    font-size:.8rem;

    font-weight:700;

    letter-spacing:.5px;

    margin-bottom:20px;

    text-transform:uppercase;

}

.page-header h1{

    font-size:3rem;

    line-height:1.2;

    font-weight:800;

    color:#111827;

    margin-bottom:20px;

}

.page-header p{

    max-width:760px;

    margin:auto;

    color:#64748b;

    font-size:1.1rem;

    line-height:1.9;

}

/* =====================================
   PAGE CONTENT
===================================== */

.page-content{

    margin-bottom:60px;

}

.page-content h2{

    font-size:2rem;

    font-weight:700;

    margin:45px 0 20px;

    color:#111827;

}

.page-content p{

    color:#475569;

    line-height:1.9;

    margin-bottom:20px;

}

.page-content ul{

    margin:25px 0;

    padding-left:25px;

}

.page-content li{

    margin-bottom:12px;

    line-height:1.9;

}
/* =====================================
   PAGE GRID
===================================== */

.page-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

    margin-top:35px;

}

/* =====================================
   PAGE CARD
===================================== */

.page-card{

    background:#fff;

    border:1px solid var(--border);

    border-radius:18px;

    padding:30px;

    transition:.35s;

    box-shadow:0 8px 25px rgba(0,0,0,.05);

}

.page-card:hover{

    transform:translateY(-6px);

    box-shadow:0 15px 35px rgba(0,0,0,.10);

    border-color:var(--primary);

}

.page-card h3{

    font-size:1.35rem;

    font-weight:700;

    color:#111827;

    margin-bottom:15px;

}

.page-card p{

    color:#64748b;

    line-height:1.9;

    margin:0;

}

/* =====================================
   PAGE SECTION
===================================== */

.page-section{

    margin-top:70px;

}

.page-section h2{

    font-size:2rem;

    font-weight:700;

    color:#111827;

    margin-bottom:25px;

}

.page-section p{

    color:#475569;

    line-height:1.9;

    margin-bottom:20px;

}

.page-section ul{

    padding-left:25px;

    margin:20px 0;

}

.page-section li{

    margin-bottom:14px;

    line-height:1.9;

}

/* =====================================
   TEAM GRID
===================================== */

.page-team{

    margin-top:70px;

}

.page-team h2{

    font-size:2rem;

    margin-bottom:30px;

    color:#111827;

}

/* =====================================
   CONTACT BOX
===================================== */

.contact-box{

    background:#f8fafc;

    border:1px solid var(--border);

    border-radius:18px;

    padding:35px;

    margin-top:35px;

}

.contact-box h3{

    font-size:1.4rem;

    margin-bottom:20px;

}

.contact-box p{

    margin-bottom:15px;

    color:#64748b;

}

.contact-box strong{

    color:#111827;

}

/* =====================================
   INFO BOX
===================================== */

.info-box{

    background:#eef6ff;

    border-left:5px solid var(--primary);

    padding:25px;

    border-radius:12px;

    margin:35px 0;

}

.info-box h3{

    margin-bottom:12px;

    color:#111827;

}

.info-box p{

    margin:0;

    color:#475569;

    line-height:1.8;

}
/* =====================================
   CONTACT FORM
===================================== */

.contact-form{

    display:flex;

    flex-direction:column;

    gap:20px;

    margin-top:35px;

}

.contact-form input,

.contact-form textarea,

.contact-form select{

    width:100%;

    padding:15px 18px;

    border:1px solid var(--border);

    border-radius:10px;

    font-size:1rem;

    font-family:inherit;

    background:#fff;

    transition:.3s;

}

.contact-form textarea{

    min-height:180px;

    resize:vertical;

}

.contact-form input:focus,

.contact-form textarea:focus,

.contact-form select:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:0 0 0 3px rgba(37,99,235,.12);

}

.contact-form button{

    width:max-content;

    padding:14px 30px;

    background:var(--primary);

    color:#fff;

    border:none;

    border-radius:10px;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

.contact-form button:hover{

    background:var(--primary-dark);

    transform:translateY(-2px);

}


/* =====================================
   ALERT BOX
===================================== */

.alert{

    padding:20px 25px;

    border-radius:12px;

    margin:30px 0;

    line-height:1.8;

}

.alert-info{

    background:#eff6ff;

    border-left:5px solid #2563eb;

    color:#1e40af;

}

.alert-success{

    background:#ecfdf5;

    border-left:5px solid #10b981;

    color:#047857;

}

.alert-warning{

    background:#fffbeb;

    border-left:5px solid #f59e0b;

    color:#92400e;

}


/* =====================================
   FAQ
===================================== */

.faq{

    margin-top:60px;

}

.faq h2{

    font-size:2rem;

    margin-bottom:30px;

}

.faq-item{

    border:1px solid var(--border);

    border-radius:12px;

    padding:22px;

    margin-bottom:18px;

    background:#fff;

}

.faq-item h3{

    font-size:1.15rem;

    margin-bottom:12px;

    color:#111827;

}

.faq-item p{

    color:#64748b;

    line-height:1.8;

    margin:0;

}


/* =====================================
   NEWSLETTER BOX
===================================== */

.page-newsletter{

    margin-top:70px;

    padding:45px;

    background:#0f172a;

    color:#fff;

    border-radius:20px;

    text-align:center;

}

.page-newsletter h2{

    font-size:2rem;

    margin-bottom:15px;

}

.page-newsletter p{

    color:#cbd5e1;

    margin-bottom:25px;

}


.page-newsletter form{

    display:flex;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

}


.page-newsletter input{

    width:350px;

    padding:15px;

    border:none;

    border-radius:10px;

}


.page-newsletter button{

    padding:15px 28px;

    background:var(--primary);

    color:#fff;

    border:none;

    border-radius:10px;

    font-weight:700;

    cursor:pointer;

}
/* =====================================
   404 PAGE
===================================== */

.error-page{

    min-height:60vh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:60px 20px;

}


.error-content{

    max-width:600px;

}


.error-number{

    font-size:9rem;

    font-weight:900;

    line-height:1;

    color:var(--primary);

    margin-bottom:20px;

}


.error-content h1{

    font-size:2.5rem;

    color:#111827;

    margin-bottom:20px;

}


.error-content p{

    color:#64748b;

    font-size:1.1rem;

    line-height:1.8;

    margin-bottom:30px;

}


.error-button{

    display:inline-flex;

    padding:14px 30px;

    background:var(--primary);

    color:#fff;

    border-radius:10px;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}


.error-button:hover{

    background:var(--primary-dark);

    transform:translateY(-3px);

}


/* =====================================
   EMPTY STATE
===================================== */

.empty-state{

    text-align:center;

    padding:60px 20px;

}


.empty-state h2{

    font-size:2rem;

    margin-bottom:15px;

}


.empty-state p{

    color:#64748b;

}


/* =====================================
   RESPONSIVE TABLET
===================================== */

@media(max-width:992px){


.page-grid{

    grid-template-columns:1fr;

}


.page-header h1{

    font-size:2.5rem;

}


.contact-form button{

    width:100%;

}


}


/* =====================================
   RESPONSIVE MOBILE
===================================== */

@media(max-width:768px){


.page{

    padding:30px 0 50px;

}


.page .container{

    padding:0 15px;

}


.page-header{

    margin-bottom:40px;

}


.page-header h1{

    font-size:2rem;

}


.page-header p{

    font-size:1rem;

}


.page-content h2,

.page-section h2{

    font-size:1.6rem;

}


.page-grid{

    gap:20px;

}


.page-card{

    padding:22px;

}


.contact-box{

    padding:25px;

}


.page-newsletter{

    padding:30px 20px;

}


.page-newsletter h2{

    font-size:1.5rem;

}


.page-newsletter input,

.page-newsletter button{

    width:100%;

}


.error-number{

    font-size:6rem;

}


.error-content h1{

    font-size:2rem;

}


}


/* =====================================
   SMALL MOBILE
===================================== */

@media(max-width:480px){


.page-label{

    font-size:.75rem;

}


.page-header h1{

    font-size:1.8rem;

}


.page-card h3{

    font-size:1.15rem;

}


.page-content p,

.page-section p{

    font-size:.95rem;

}


.error-number{

    font-size:5rem;

}


.error-content h1{

    font-size:1.6rem;

}


}


/* =====================================
   DARK MODE
===================================== */


body.dark-mode .page{

    background:#0f172a;

}


body.dark-mode .page-header h1,

body.dark-mode .page-content h2,

body.dark-mode .page-section h2,

body.dark-mode .page-card h3,

body.dark-mode .contact-box h3,

body.dark-mode .faq-item h3{

    color:#f8fafc;

}


body.dark-mode .page-header p,

body.dark-mode .page-content p,

body.dark-mode .page-section p,

body.dark-mode .page-card p,

body.dark-mode .faq-item p{

    color:#cbd5e1;

}


body.dark-mode .page-card,

body.dark-mode .faq-item,

body.dark-mode .contact-box{

    background:#111827;

    border-color:#334155;

}


body.dark-mode .breadcrumb{

    color:#cbd5e1;

}


body.dark-mode .error-content h1{

    color:#f8fafc;

}


body.dark-mode .error-content p{

    color:#cbd5e1;

}