/* ==========================================================
   BANKHELPLINE
   GLOBAL DESIGN SYSTEM
   Version : 1.0
==========================================================*/


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

:root{

    /* Brand */

    --primary:#E60023;
    --primary-dark:#C4001D;
    --primary-light:#FFF3F5;

    /* Status */

    --success:#16A34A;
    --warning:#F59E0B;
    --danger:#DC2626;
    --info:#2563EB;

    /* Text */

    --dark:#111827;
    --text:#374151;
    --text-light:#6B7280;

    /* Background */

    --white:#ffffff;
    --light:#F8FAFC;
    --body:#F5F7FB;

    /* Border */

    --border:#E5E7EB;

    /* Radius */

    --radius-sm:8px;
    --radius:16px;
    --radius-lg:24px;

    /* Shadow */

    --shadow-sm:0 4px 10px rgba(0,0,0,.05);

    --shadow:0 10px 30px rgba(0,0,0,.08);

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

}


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

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Inter',sans-serif;

    background:var(--body);

    color:var(--dark);

    line-height:1.7;

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;

}

img{

    max-width:100%;

    display:block;

}

a{

    color:inherit;

    text-decoration:none;

    transition:.30s;

}

ul{

    list-style:none;

    padding:0;

    margin:0;

}

button{

    border:none;

    outline:none;

}

input,

textarea,

select{

    outline:none;

}


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

.container{

    max-width:1280px;

}


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

h1,h2,h3,h4,h5,h6{

    color:var(--dark);

    font-weight:800;

    line-height:1.25;

}

h1{

    font-size:64px;

}

h2{

    font-size:48px;

}

h3{

    font-size:36px;

}

h4{

    font-size:28px;

}

h5{

    font-size:22px;

}

h6{

    font-size:18px;

}

p{

    color:var(--text);

    font-size:16px;

    line-height:1.8;

    margin-bottom:0;

}

small{

    color:var(--text-light);

}


/* ==========================================================
   SECTION
==========================================================*/

.section{

    padding:90px 0;

}

.section-title{

    font-size:46px;

    font-weight:900;

    margin-bottom:18px;

}

.section-subtitle{

    max-width:760px;

    margin:auto;

    color:var(--text-light);

    font-size:18px;

}


/* ==========================================================
   BACKGROUND COLORS
==========================================================*/

.bg-primary{

    background:var(--primary)!important;

}

.bg-light{

    background:var(--light)!important;

}

.bg-white{

    background:#fff!important;

}

.text-primary{

    color:var(--primary)!important;

}

.text-muted{

    color:var(--text-light)!important;

}


/* ==========================================================
   BORDER RADIUS
==========================================================*/

.rounded-sm{

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

}

.rounded{

    border-radius:var(--radius);

}

.rounded-lg{

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

}


/* ==========================================================
   SHADOW
==========================================================*/

.shadow-sm{

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

}

.shadow{

    box-shadow:var(--shadow)!important;

}

.shadow-lg{

    box-shadow:var(--shadow-lg)!important;

}


/* ==========================================================
   SPACING HELPERS
==========================================================*/

.py-section{

    padding:90px 0;

}

.mt-section{

    margin-top:90px;

}

.mb-section{

    margin-bottom:90px;

}


/* ==========================================================
   DIVIDER
==========================================================*/

.divider{

    width:80px;

    height:4px;

    background:var(--primary);

    border-radius:10px;

    margin:20px auto;

}


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

.glass{

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

    backdrop-filter:blur(20px);

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

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

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:14px 30px;

    border-radius:12px;

    font-size:15px;

    font-weight:700;

    transition:.30s ease;

    text-decoration:none;

    cursor:pointer;

}

.btn:hover{

    transform:translateY(-2px);

}

/* Primary */

.btn-primary{

    background:linear-gradient(135deg,#FF1744,#E60023);

    color:#fff;

    border:none;

}

.btn-primary:hover{

    color:#fff;

    background:linear-gradient(135deg,#E60023,#C4001D);

    box-shadow:0 15px 30px rgba(230,0,35,.25);

}

/* Secondary */

.btn-secondary{

    background:#111827;

    color:#fff;

}

.btn-secondary:hover{

    color:#fff;

    background:#000;

}

/* Outline */

.btn-outline{

    background:#fff;

    color:var(--primary);

    border:2px solid var(--primary);

}

.btn-outline:hover{

    background:var(--primary);

    color:#fff;

}

/* Success */

.btn-success{

    background:#16A34A;

    color:#fff;

}

.btn-success:hover{

    background:#15803D;

    color:#fff;

}

/* Button Sizes */

.btn-sm{

    padding:10px 20px;

    font-size:14px;

}

.btn-lg{

    padding:18px 40px;

    font-size:18px;

}


/* ==========================================================
   FORM CONTROLS
==========================================================*/

.form-group{

    margin-bottom:22px;

}

.form-label{

    display:block;

    margin-bottom:8px;

    font-size:15px;

    font-weight:700;

    color:var(--dark);

}

.form-control,

.form-select{

    width:100%;

    height:56px;

    border:1px solid var(--border);

    border-radius:12px;

    padding:0 18px;

    background:#fff;

    font-size:15px;

    color:var(--dark);

    transition:.30s;

}

textarea.form-control{

    min-height:140px;

    padding:15px 18px;

    resize:vertical;

}

.form-control:focus,

.form-select:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 .20rem rgba(230,0,35,.12);

}

.form-control::placeholder{

    color:#9CA3AF;

}

.form-check-input{

    width:18px;

    height:18px;

}

.form-check-input:checked{

    background:var(--primary);

    border-color:var(--primary);

}


/* ==========================================================
   INPUT GROUP
==========================================================*/

.input-group{

    display:flex;

    align-items:center;

}

.input-group-text{

    background:#fff;

    border:1px solid var(--border);

    border-right:none;

    color:var(--text);

    border-radius:12px 0 0 12px;

}

.input-group .form-control{

    border-radius:0 12px 12px 0;

}


/* ==========================================================
   SEARCH BOX
==========================================================*/

.search-box{

    position:relative;

}

.search-box input{

    padding-left:50px;

}

.search-box i{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:#9CA3AF;

}


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

.card{

    background:#fff;

    border:none;

    border-radius:20px;

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

    overflow:hidden;

    transition:.30s;

}

.card:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow);

}

.card-body{

    padding:30px;

}


/* ==========================================================
   FEATURE CARD
==========================================================*/

.feature-card{

    background:#fff;

    border:1px solid var(--border);

    border-radius:20px;

    padding:35px;

    text-align:center;

    transition:.30s;

    height:100%;

}

.feature-card:hover{

    border-color:var(--primary);

    transform:translateY(-6px);

    box-shadow:var(--shadow);

}

.feature-icon{

    width:80px;

    height:80px;

    margin:auto;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--primary-light);

    color:var(--primary);

    font-size:34px;

    margin-bottom:25px;

}

.feature-card h3{

    font-size:24px;

    margin-bottom:15px;

}

.feature-card p{

    color:var(--text-light);

}


/* ==========================================================
   PRODUCT CARD
==========================================================*/

.product-card{

    background:#fff;

    border-radius:20px;

    border:1px solid var(--border);

    padding:30px;

    transition:.30s;

    height:100%;

}

.product-card:hover{

    border-color:var(--primary);

    transform:translateY(-8px);

    box-shadow:var(--shadow);

}

.product-card img{

    height:60px;

    object-fit:contain;

    margin-bottom:25px;

}

.product-card h4{

    font-size:22px;

    margin-bottom:12px;

}

.product-card p{

    color:var(--text-light);

    margin-bottom:20px;

}


/* ==========================================================
   ICON BOX
==========================================================*/

.icon-box{

    width:70px;

    height:70px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--primary-light);

    color:var(--primary);

    font-size:28px;

    margin-bottom:20px;

}


/* ==========================================================
   HOVER EFFECT
==========================================================*/

.hover-up{

    transition:.30s;

}

.hover-up:hover{

    transform:translateY(-8px);

}


/* ==========================================================
   IMAGE
==========================================================*/

.img-rounded{

    border-radius:20px;

}

.img-shadow{

    box-shadow:var(--shadow);

}
/* ==========================================================
   TABLES
==========================================================*/

.table{

    width:100%;

    margin-bottom:0;

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    border-collapse:collapse;

}

.table thead{

    background:var(--primary);

    color:#fff;

}

.table thead th{

    padding:18px;

    font-size:15px;

    font-weight:700;

    border:none;

}

.table tbody td{

    padding:18px;

    color:var(--text);

    border-bottom:1px solid var(--border);

    vertical-align:middle;

}

.table tbody tr:last-child td{

    border-bottom:none;

}

.table-hover tbody tr{

    transition:.25s;

}

.table-hover tbody tr:hover{

    background:#FFF7F8;

}


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

.badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 14px;

    border-radius:30px;

    font-size:13px;

    font-weight:700;

}

.badge-primary{

    background:#FFF3F5;

    color:var(--primary);

}

.badge-success{

    background:#ECFDF5;

    color:#15803D;

}

.badge-warning{

    background:#FEF3C7;

    color:#B45309;

}

.badge-danger{

    background:#FEE2E2;

    color:#B91C1C;

}

.badge-info{

    background:#DBEAFE;

    color:#1D4ED8;

}


/* ==========================================================
   STATUS PILLS
==========================================================*/

.status{

    display:inline-block;

    padding:6px 16px;

    border-radius:50px;

    font-size:13px;

    font-weight:700;

}

.status-active{

    background:#DCFCE7;

    color:#15803D;

}

.status-pending{

    background:#FEF3C7;

    color:#B45309;

}

.status-rejected{

    background:#FEE2E2;

    color:#B91C1C;

}

.status-processing{

    background:#DBEAFE;

    color:#1D4ED8;

}


/* ==========================================================
   ALERTS
==========================================================*/

.alert{

    border:none;

    border-radius:16px;

    padding:18px 22px;

    font-size:15px;

}

.alert-success{

    background:#ECFDF5;

    color:#166534;

}

.alert-danger{

    background:#FEF2F2;

    color:#991B1B;

}

.alert-warning{

    background:#FFFBEB;

    color:#92400E;

}

.alert-info{

    background:#EFF6FF;

    color:#1E40AF;

}


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

.stat-card{

    background:#fff;

    border-radius:20px;

    padding:30px;

    text-align:center;

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

    transition:.30s;

    height:100%;

}

.stat-card:hover{

    transform:translateY(-5px);

    box-shadow:var(--shadow);

}

.stat-number{

    font-size:42px;

    font-weight:900;

    color:var(--primary);

}

.stat-label{

    margin-top:10px;

    color:var(--text-light);

    font-size:15px;

}


/* ==========================================================
   BANK CARD
==========================================================*/

.bank-card{

    background:#fff;

    border:1px solid var(--border);

    border-radius:18px;

    padding:25px;

    text-align:center;

    transition:.30s;

}

.bank-card:hover{

    transform:translateY(-6px);

    border-color:var(--primary);

    box-shadow:var(--shadow);

}

.bank-card img{

    max-height:55px;

    width:auto;

    margin:auto;

}


/* ==========================================================
   ACCORDION
==========================================================*/

.accordion-item{

    border:none;

    border-radius:18px;

    overflow:hidden;

    margin-bottom:18px;

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

}

.accordion-button{

    padding:22px;

    font-weight:700;

    background:#fff;

}

.accordion-button:not(.collapsed){

    background:#FFF3F5;

    color:var(--primary);

    box-shadow:none;

}

.accordion-button:focus{

    box-shadow:none;

}

.accordion-body{

    padding:25px;

    line-height:1.9;

    color:var(--text);

}


/* ==========================================================
   TABS
==========================================================*/

.nav-tabs{

    border:none;

    gap:12px;

}

.nav-tabs .nav-link{

    border:none;

    border-radius:12px;

    background:#fff;

    color:var(--text);

    padding:12px 22px;

    font-weight:700;

}

.nav-tabs .nav-link.active{

    background:var(--primary);

    color:#fff;

}


/* ==========================================================
   PROGRESS
==========================================================*/

.progress{

    height:10px;

    border-radius:20px;

    background:#E5E7EB;

}

.progress-bar{

    background:var(--primary);

}


/* ==========================================================
   BREADCRUMB
==========================================================*/

.breadcrumb{

    background:none;

    padding:0;

    margin-bottom:30px;

}

.breadcrumb-item{

    font-size:14px;

}

.breadcrumb-item a{

    color:var(--text-light);

}

.breadcrumb-item.active{

    color:var(--primary);

}


/* ==========================================================
   PAGINATION
==========================================================*/

.pagination{

    gap:8px;

}

.page-link{

    border:none;

    border-radius:10px;

    color:var(--dark);

    padding:10px 16px;

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

}

.page-link:hover{

    background:var(--primary);

    color:#fff;

}

.page-item.active .page-link{

    background:var(--primary);

    color:#fff;

}


/* ==========================================================
   LIST GROUP
==========================================================*/

.list-group{

    border-radius:18px;

    overflow:hidden;

}

.list-group-item{

    border-color:var(--border);

    padding:18px 20px;

}


/* ==========================================================
   DIVIDERS
==========================================================*/

.hr{

    height:1px;

    background:var(--border);

    margin:40px 0;

}

.vertical-divider{

    width:1px;

    height:100%;

    background:var(--border);

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

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

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

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

.fw-light{
    font-weight:300;
}

.fw-normal{
    font-weight:400;
}

.fw-medium{
    font-weight:500;
}

.fw-semibold{
    font-weight:600;
}

.fw-bold{
    font-weight:700;
}

.fw-black{
    font-weight:900;
}


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

.d-flex-center{
    display:flex;
    align-items:center;
    justify-content:center;
}

.d-flex-between{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.d-flex-column{
    display:flex;
    flex-direction:column;
}

.gap-10{
    gap:10px;
}

.gap-20{
    gap:20px;
}

.gap-30{
    gap:30px;
}


/* ==========================================================
   WIDTH
========================================================== */

.w-100{
    width:100%;
}

.h-100{
    height:100%;
}


/* ==========================================================
   SPACING
========================================================== */

.mt-10{margin-top:10px;}
.mt-20{margin-top:20px;}
.mt-30{margin-top:30px;}
.mt-40{margin-top:40px;}
.mt-50{margin-top:50px;}
.mt-60{margin-top:60px;}
.mt-80{margin-top:80px;}

.mb-10{margin-bottom:10px;}
.mb-20{margin-bottom:20px;}
.mb-30{margin-bottom:30px;}
.mb-40{margin-bottom:40px;}
.mb-50{margin-bottom:50px;}
.mb-60{margin-bottom:60px;}
.mb-80{margin-bottom:80px;}

.pt-60{
    padding-top:60px;
}

.pb-60{
    padding-bottom:60px;
}

.py-80{
    padding:80px 0;
}


/* ==========================================================
   BORDER
========================================================== */

.border{
    border:1px solid var(--border);
}

.border-top{
    border-top:1px solid var(--border);
}

.border-bottom{
    border-bottom:1px solid var(--border);
}


/* ==========================================================
   BACKGROUND
========================================================== */

.bg-gradient-red{

    background:linear-gradient(135deg,#FF1744,#E60023);

    color:#fff;

}

.bg-gradient-dark{

    background:linear-gradient(135deg,#111827,#1F2937);

    color:#fff;

}

.bg-soft{

    background:#FFF4F6;

}


/* ==========================================================
   GLASS EFFECT
========================================================== */

.glass-card{

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

    backdrop-filter:blur(18px);

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

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

    border-radius:20px;

    box-shadow:var(--shadow);

}


/* ==========================================================
   IMAGE
========================================================== */

.img-cover{

    width:100%;

    height:100%;

    object-fit:cover;

}

.round-image{

    border-radius:50%;

}


/* ==========================================================
   TRANSITIONS
========================================================== */

.transition{

    transition:.30s;

}

.scale:hover{

    transform:scale(1.03);

}

.rotate:hover{

    transform:rotate(2deg);

}

.shadow-hover:hover{

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

}


/* ==========================================================
   ANIMATION
========================================================== */

@keyframes float{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-8px);

    }

    100%{

        transform:translateY(0px);

    }

}

.float{

    animation:float 4s ease-in-out infinite;

}


@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.fade-up{

    animation:fadeUp .8s ease;

}


/* ==========================================================
   LOADER
========================================================== */

.skeleton{

    background:linear-gradient(
        90deg,
        #f3f4f6 25%,
        #e5e7eb 37%,
        #f3f4f6 63%
    );

    background-size:400% 100%;

    animation:skeleton 1.4s ease infinite;

}

@keyframes skeleton{

    0%{

        background-position:100% 50%;

    }

    100%{

        background-position:0 50%;

    }

}


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

::-webkit-scrollbar{

    width:8px;

}

::-webkit-scrollbar-track{

    background:#f3f4f6;

}

::-webkit-scrollbar-thumb{

    background:#E60023;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#C4001D;

}


/* ==========================================================
   SELECTION
========================================================== */

::selection{

    background:#E60023;

    color:#fff;

}


/* ==========================================================
   FOCUS
========================================================== */

*:focus{

    outline:none;

}


/* ==========================================================
   PRINT
========================================================== */

@media print{

    .navbar,
    footer,
    .header-btn,
    .btn{

        display:none!important;

    }

    body{

        background:#fff;

    }

}