/*==================================
        CHECKOUT
==================================*/

.checkout-page{

padding:80px 0;

background:#F8FAF7;

}

.checkout-form,
.order-summary{

background:#fff;

padding:35px;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.checkout-form h2{

margin-bottom:30px;

color:#2E7D32;

font-weight:700;

}

.form-group{

margin-bottom:22px;

}

.form-group label{

font-weight:600;

margin-bottom:8px;

display:block;

}

.form-control{

border-radius:12px;

padding:14px;

border:2px solid #E0E0E0;

transition:.3s;

}

.form-control:focus{

border-color:#2E7D32;

box-shadow:none;

}

.order-summary{

position:sticky;

top:145px;

}

.order-summary h3{

margin-bottom:25px;

color:#2E7D32;

}

.summary-item{

display:flex;

justify-content:space-between;

margin:15px 0;

}

.total{

font-size:22px;

font-weight:700;

color:#2E7D32;

}

.payment-method{

margin-top:30px;

}

.payment-method label{

display:block;

margin:15px 0;

cursor:pointer;

}

.place-order-btn{

width:100%;

padding:16px;

margin-top:30px;

background:#2E7D32;

color:#fff;

border:none;

border-radius:50px;

font-size:18px;

font-weight:600;

transition:.3s;

}

.place-order-btn:hover{

background:#1B5E20;

transform:translateY(-3px);

}

@media(max-width:991px){

.checkout-page {
    padding: 45px 0;
}

.order-summary{
margin-top:30px;
position:static;
}

}

@media(max-width:576px){

.checkout-page {
    padding: 30px 0;
}

.checkout-form,
.order-summary{
padding:20px 15px;
border-radius:16px;
}

.checkout-form h2{
font-size:22px;
margin-bottom:20px;
}

.place-order-btn{
padding:14px;
font-size:16px;
}

.checkout-address-section {
padding: 14px;
}

}

/*==================================
    DELIVERY OPTIONS
==================================*/

.delivery-options{

margin-top:40px;

padding-top:20px;

border-top:2px solid #eee;

}

.delivery-options h4{

margin-bottom:20px;

color:#2E7D32;

}

/* Coupon */

.coupon-area{

margin-top:40px;

}

.coupon-area h4{

margin-bottom:20px;

}

.coupon-box{

display:flex;

gap:10px;

}

.coupon-box input{

flex:1;

padding:14px;

border-radius:10px;

border:2px solid #ddd;

}

.coupon-box button{

padding:14px 22px;

background:#2E7D32;

border:none;

color:#fff;

border-radius:10px;

transition:.3s;

}

.coupon-box button:hover{

background:#1B5E20;

}

.same-address{

margin-top:30px;

font-weight:600;

}

.same-address input{

margin-right:10px;

}

/*==================================
    PAYMENT BOX
==================================*/

.payment-box{

display:none;

margin-top:20px;

padding:20px;

background:#F7FDF7;

border-radius:15px;

animation:fadeIn .4s;

}

.payment-box input{

margin-bottom:15px;

}

@keyframes fadeIn{

from{

opacity:0;

transform:translateY(10px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*==================================
    CHECKOUT DELIVERY ADDRESSES
==================================*/

.checkout-address-section {
    background: #FAFCFA;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid #E5EFE6;
}

.checkout-addr-card {
    background: #fff;
    border: 2px solid #E0E0E0 !important;
    cursor: pointer;
    transition: all 0.25s ease;
    position: relative;
}

.checkout-addr-card:hover {
    border-color: #A5D6A7 !important;
    background: #F9FFF9;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.05);
}

.checkout-addr-card.selected-card {
    border-color: #2E7D32 !important;
    background: #F4FAF5;
    box-shadow: 0 6px 18px rgba(46, 125, 50, 0.12);
}

.checkout-addr-card .form-check-input {
    cursor: pointer;
}

.checkout-addr-card .form-check-input:checked {
    background-color: #2E7D32;
    border-color: #2E7D32;
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}