/* ==========================================================
   Battery Platform Design System V1
   BatteryShop
   ========================================================== */

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

:root{

    --bp-primary:#00429a;
    --bp-primary-light:#e8f1ff;

    --bp-border:#e8edf3;
    --bp-border-light:#eef2f7;

    --bp-bg:#ffffff;
    --bp-bg-soft:#f8fbff;
    --bp-bg-alt:#fafafa;

    --bp-title:#2f3542;
    --bp-text:#444444;
    --bp-text-light:#6b7280;

    --bp-radius:10px;

    --bp-shadow:
        0 1px 4px rgba(15,23,42,.04);

    --bp-shadow-hover:
        0 12px 30px rgba(15,23,42,.15);

}

/* ==========================================================
   GLOBAL
   ========================================================== */

.bp-section-wrapper{

    background:var(--bp-bg);

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

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

    padding:24px;

    margin:30px 0;

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

    overflow:hidden;

}

.bp-section{

    margin:0 0 34px;

}

.bp-section:last-child{

    margin-bottom:0;

}

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

.bp-section-wrapper p,
.bp-section-wrapper li{

    font-size:15px;

    line-height:1.75;

    color:var(--bp-text);

}

.bp-section-wrapper p{

    margin:0 0 18px;

}

.bp-section-wrapper ul{

    margin:12px 0;

    padding-left:18px;

}

.bp-section-wrapper strong,
.bp-section-wrapper b{

    color:#111;

}

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

.bp-hero{

    margin:0 0 28px;

    border-radius:10px;

    overflow:hidden;

}

.bp-hero img{

    display:block;

    width:100%;

    height:auto;

}

/* ==========================================================
   INTRO
   ========================================================== */

.bp-intro{

    padding:0 24px;

    margin-bottom:32px;

    box-sizing:border-box;

}

.bp-intro h2{

    font-size:24px;

    font-weight:700;

    line-height:1.2;

    color:var(--bp-title);

    margin:0 0 18px;

}

.bp-intro p{

    margin-bottom:22px;

}

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

.bp-section-title{

    display:flex;

    align-items:center;

    gap:8px;

    font-size:18px;

    font-weight:600;

    line-height:1.3;

    color:var(--bp-title);

    margin:0 0 18px;

}

.bp-section-title::after{

    content:"";

    flex:1;

    height:2px;

    background:#dbeafe;

    border-radius:2px;

}

.bp-subsection-title{

    display:flex;

    align-items:center;

    font-size:17px;

    font-weight:600;

    color:#4b5563;

    margin:18px 0 12px;

}

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

.bp-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

    gap:20px;

    margin:24px 0;

}

.bp-card-row{

    display:flex;

    flex-wrap:wrap;

    align-items:stretch;

    gap:20px;

    margin:24px 0;

}

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

.bp-card{

    display:flex;

    flex-direction:column;

    height:100%;

    padding:18px;

    background:#f8fbff;

    border:1px solid #d9e6f5;

    border-radius:10px;

    box-shadow:0 2px 8px rgba(15,23,42,.04);

    transition:all .20s ease;

}

.bp-card:hover{

    background:#ffffff;

    border-color:#9fc4ff;

    transform:translateY(-4px);

    box-shadow:var(--bp-shadow-hover);

}

.bp-card-icon{

    font-size:34px;

    margin-bottom:14px;

    line-height:1;

}

.bp-card-title{

    margin:0 0 12px;

    font-size:17px;

    font-weight:600;

    line-height:1.35;

    color:var(--bp-title);

}

.bp-card-text{

    margin:0;

    flex:1;

}

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

.bp-badges{

    display:flex;

    flex-wrap:wrap;

    gap:8px;

    margin:18px 0;

}

.bp-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 14px;

    border-radius:18px;

    background:var(--bp-primary-light);

    border:1px solid #7fb0ff;

    color:var(--bp-primary);

    font-size:13px;

    font-weight:700;

    line-height:1;

    white-space:nowrap;

    transition:all .20s ease;

}

.bp-badge:hover{

    background:#dfeeff;

    border-color:#6ea8ff;

    transform:translateY(-2px);

    box-shadow:0 6px 16px rgba(0,66,154,.18);

}

/* ==========================================================
   TABLE
   ========================================================== */

.bp-table{

    width:100%;

    border-collapse:separate;

    border-spacing:0;

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

    border-radius:8px;

    overflow:hidden;

    background:#fff;

}

.bp-table tr:nth-child(even){

    background:var(--bp-bg-alt);

}

.bp-table td{

    padding:10px 14px;

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

    vertical-align:top;

}

.bp-table tr:last-child td{

    border-bottom:none;

}

.bp-table td:first-child{

    width:32%;

    background:var(--bp-bg-soft);

    font-weight:600;

    color:#374151;

}

/* ==========================================================
   LISTS
   ========================================================== */

.bp-list{

    margin:14px 0;

    padding-left:20px;

}

.bp-list li{

    margin-bottom:8px;

}

.bp-list li:last-child{

    margin-bottom:0;

}

/* ==========================================================
   INFO BOX
   ========================================================== */

.bp-warning-box{

    margin:20px 0;

    padding:18px 20px;

    background:var(--bp-bg-soft);

    border:1px solid #e6eef9;

    border-left:4px solid var(--bp-primary);

    border-radius:8px;

}

/* ==========================================================
   FAQ
   ========================================================== */

.bp-faq{

    margin:0;

}

.bp-faq-item{

    margin-bottom:24px;

}

.bp-faq-item:last-child{

    margin-bottom:0;

}

.bp-faq-question{

    margin:0 0 8px;

    font-size:16px;

    font-weight:600;

    line-height:1.4;

    color:var(--bp-title);

}

.bp-faq-answer{

    margin:0;

    padding-bottom:20px;

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

    color:var(--bp-text-light);

    line-height:1.8;

}

.bp-faq-item:last-child .bp-faq-answer{

    border-bottom:none;

    padding-bottom:0;

}

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

.bp-button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:10px 18px;

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

    border-radius:8px;

    background:var(--bp-primary);

    color:#fff;

    font-size:14px;

    font-weight:600;

    text-decoration:none;

    cursor:pointer;

    transition:all .20s ease;

}

.bp-button:hover{

    background:#0b57c5;

    border-color:#0b57c5;

    color:#fff;

    text-decoration:none;

}

.bp-button-outline{

    background:#fff;

    color:var(--bp-primary);

}

.bp-button-outline:hover{

    background:var(--bp-primary-light);

    color:var(--bp-primary);

}

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

.bp-text-center{

    text-align:center;

}

.bp-text-right{

    text-align:right;

}

.bp-mt-0{

    margin-top:0!important;

}

.bp-mb-0{

    margin-bottom:0!important;

}

.bp-hidden{

    display:none!important;

}

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

@media (max-width:992px){

    .bp-grid{

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

    }

}

@media (max-width:768px){

    .bp-section-wrapper{

        padding:18px;

    }

    .bp-intro{

        padding:0;

    }

    .bp-intro h2{

        font-size:22px;

    }

    .bp-section-title{

        font-size:17px;

    }

    .bp-table td{

        display:block;

        width:100%!important;

    }

    .bp-table td:first-child{

        border-bottom:none;

    }

}

@media (max-width:576px){

    .bp-grid{

        grid-template-columns:1fr;

    }

    .bp-card-row{

        display:block;

    }

    .bp-card{

        margin-bottom:18px;

    }

    .bp-badges{

        gap:6px;

    }

    .bp-badge{

        font-size:12px;

        padding:7px 12px;

    }

}