
/* =====================================================
   Franklin Checkout v2
   checkout.css
===================================================== */

:root{
    --primary:#2E7D32;
    --primary-hover:#256628;
    --accent:#66BB6A;
    --bg:#f6f8fb;
    --card:#ffffff;
    --text:#222;
    --muted:#6c757d;
    --border:#e8ecef;
    --radius:16px;
    --shadow:0 10px 30px rgba(0,0,0,.08);
}

.checkout-page{
    background:var(--bg);
    min-height:100vh;
}

.checkout-header{
    max-width:900px;
    margin:auto;
}

.checkout-title,
.display-5{
    color:var(--primary);
}

.checkout-highlights span{
    font-size:.95rem;
    color:#444;
}

.checkout-wizard{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    margin:40px auto;
}

.wizard-step{
    display:flex;
    align-items:center;
    gap:12px;
    opacity:.45;
    transition:.3s;
}

.wizard-step.active,
.wizard-step.completed{
    opacity:1;
}

.wizard-number{
    width:48px;
    height:48px;
    border-radius:50%;
    background:#e9ecef;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
}

.wizard-step.active .wizard-number,
.wizard-step.completed .wizard-number{
    background:var(--primary);
    color:#fff;
}

.wizard-line{
    width:120px;
    height:3px;
    background:#d9dee4;
}

.checkout-card{
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
    border:none;
}

.checkout-card .card-header{
    background:#fff;
    border-bottom:1px solid var(--border);
    padding:20px 24px;
}

.checkout-card .card-body{
    padding:24px;
}

.checkout-summary{
    top:30px;
}

.checkout-summary .card{
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
}

.checkout-summary .card-header{
    background:var(--primary)!important;
}

.btn-success{
    background:var(--primary);
    border-color:var(--primary);
    border-radius:10px;
    padding:12px 28px;
}

.btn-success:hover{
    background:var(--primary-hover);
    border-color:var(--primary-hover);
}

.btn-outline-secondary{
    border-radius:10px;
}

.form-control,
.form-select{
    border-radius:10px;
    padding:.8rem .95rem;
}

.form-control:focus,
.form-select:focus{
    border-color:var(--accent);
    box-shadow:0 0 0 .2rem rgba(102,187,106,.2);
}

.table{
    margin-bottom:0;
}

@media (max-width:991.98px){

    .checkout-summary{
        position:relative!important;
        top:0;
        margin-top:20px;
    }

    .checkout-wizard{
        flex-direction:column;
        gap:12px;
    }

    .wizard-line{
        width:3px;
        height:40px;
    }

    .text-end{
        text-align:center!important;
    }

    #btn-next{
        width:100%;
    }
}

@media (max-width:575.98px){

    .checkout-card .card-body{
        padding:18px;
    }

    .display-5{
        font-size:2rem;
    }

    .checkout-highlights{
        display:block!important;
    }

    .checkout-highlights span{
        display:block;
        margin-bottom:10px;
    }
}
