.mcf-progress{

    position:relative;

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    background:#ede8e3;

    padding:22px 50px 12px;

    margin-bottom:40px;
}

.mcf-progress-line{

    position:absolute;

    left:60px;

    right:60px;

    top:26px;

    height:2px;

    background:#cfc9c2;
}

.mcf-step{

    position:relative;

    z-index:2;

    flex:1;

    text-align:center;
}

.mcf-step-circle{

    width:26px;

    height:26px;

    margin:0 auto;

    border-radius:50%;

    background:#c7c7c7;

    color:#fff;

    font-size:13px;

    font-weight:700;

    display:flex;

    align-items:center;

    justify-content:center;
}

.mcf-step.active .mcf-step-circle{

    background:#005f7f;
}

.mcf-step span{

    display:block;

    margin-top:10px;

    font-size:12px;

    color:#8a8a8a;
}

.mcf-step.active span{

    color:#005f7f;

    font-weight:600;
}

.mcf-layout{

    display:grid;

    grid-template-columns:minmax(0,1fr) 320px;

    gap:40px;

    align-items:start;
}

.mcf-title{

    font-size:42px;

    color:#005f7f;

    margin-bottom:10px;
}

.mcf-subtitle{

    color:#777;

    margin-bottom:30px;
}

.mcf-section-title{

    font-size:12px;

    letter-spacing:2px;

    color:#005f7f;

    margin:35px 0 15px;

    font-weight:700;
}

.mcf-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

    margin-bottom:15px;
}

.mcf-field{

    margin-bottom:15px;
}

.mcf-field label{

    display:block;

    margin-bottom:6px;

    font-size:12px;

    color:#555;
}

.mcf-field input,
.mcf-field select,
.mcf-field textarea{

    width:100%;

    border:1px solid #ddd;

    background:#fff;

    padding:12px;
}

.mcf-field textarea{

    height:110px;
}

.mcf-summary{

    background:#ECE9D0;

    padding:25px;
}

.mcf-summary h3{

    margin:0 0 20px;

    font-size:20px;
}

.mcf-btn{

    display:block;

    width:100%;

    height:52px;

    line-height:52px;

    text-align:center;

    text-decoration:none;

    background:#c5b354;

    color:#fff;

    font-weight:700;

    margin-top:20px;
}

.mcf-back{

    margin-bottom:20px;
}

.mcf-back a{

    color:#005f7f;

    text-decoration:none;
}

.mcf-summary{

background:#ECE9D0;

padding:25px;
}

.mcf-summary-row{

display:flex;

justify-content:space-between;

margin-bottom:16px;

font-size:14px;

}

.mcf-summary-total{

display:flex;

justify-content:space-between;

align-items:center;

margin-top:25px;

padding-top:20px;

border-top:1px solid rgba(0,0,0,.1);

}

.mcf-summary-total strong{

color:#005f7f;

font-size:30px;

font-weight:700;

}

.mcf-discount{

color:#00a651;

}

.mcf-coupon{

display:flex;

margin-top:20px;

}

.mcf-coupon input{

flex:1;

height:42px;

border:1px solid #ddd;

padding:0 12px;

}

.mcf-coupon button{

width:42px;

border:none;

background:#005f7f;

color:#fff;

cursor:pointer;

}

#mcf-delivery-options{

    margin-bottom:20px;
}

.mcf-delivery-choice{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin:8px 0;

    font-size:13px;
}

.mcf-delivery-choice label{

    display:flex;

    align-items:center;

    gap:8px;

    cursor:pointer;
}

.mcf-delivery-choice-price{

    font-weight:600;

    color:#005f7f;
}

.mcf-delivery-choice{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:8px 0;

    font-size:14px;
}

.mcf-delivery-choice-price{

    color:#005f7f;

    font-weight:700;
}

#mcf-delivery-options{

    margin-bottom:20px;
}

.mcf-loading{

    display:flex;

    align-items:center;

    gap:10px;

    padding:15px 0;

    color:#666;

    font-size:14px;
}

.mcf-spinner{

    width:18px;

    height:18px;

    border:2px solid #ddd;

    border-top:2px solid #005f7f;

    border-radius:50%;

    animation:mcfSpin .8s linear infinite;
}

@keyframes mcfSpin{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}

.mcf-error{

    color:#D92D20;

    font-size:13px;

    margin-top:6px;

    min-height:18px;
}

.mcf-invalid{

    border-color:#D92D20 !important;
}

.mcf-delivery-window{
    margin-top:40px;
}

.mcf-section-title{
    margin:0 0 12px;
    font-size:11px;
    font-weight:700;
    letter-spacing:1.5px;
    color:#1c4d8c;
    text-transform:uppercase;
}

.mcf-window-card{
    display:flex;
    align-items:center;
    gap:16px;
    padding:16px 18px;
    border:1px solid #e5e5e5;
    background:#fff;
    margin-bottom:8px;
    cursor:pointer;
    transition:all .2s ease;
}

.mcf-window-card:hover{
    border-color:#2f6db3;
}

.mcf-window-card input{
    display:none;
}

.mcf-radio{
    width:16px;
    height:16px;
    border:1px solid #888;
    border-radius:50%;
    position:relative;
    flex-shrink:0;
}

.mcf-window-card input:checked + .mcf-radio::after{
    content:'';
    width:8px;
    height:8px;
    border-radius:50%;
    background:#2f6db3;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
}

.mcf-window-card:has(input:checked){
    border:1px solid #2f6db3;
    background:#f8f6f1;
}

.mcf-window-content{
    flex:1;
}

.mcf-window-title{
    font-size:13px;
    font-weight:600;
    color:#111;
    margin-bottom:3px;
}

.mcf-window-subtitle{
    font-size:11px;
    color:#888;
}

.mcf-window-price{
    font-size:11px;
    font-weight:700;
    color:#2f6db3;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.mcf-payment-card{
    display:flex;
    align-items:center;
    gap:16px;
    padding:18px;
    border:1px solid #ddd;
    background:#fff;
    margin-bottom:10px;
    cursor:pointer;
}

.mcf-payment-card.active{
    border:2px solid #1f5f99;
    background:#f8f6ef;
}

.mcf-payment-content{
    flex:1;
}

.mcf-payment-title{
    font-weight:600;
    font-size:14px;
}

.mcf-payment-subtitle{
    font-size:12px;
    color:#777;
    margin-top:4px;
}

.mcf-payment-icons{
    font-size:11px;
    color:#666;
}

#mcf-card-fields{
    margin-top:30px;
}

#mcf-payment-loading{

    position:fixed;
    top:0;
    left:0;

    width:100%;
    height:100%;

    background:rgba(255,255,255,.92);

    z-index:999999;

    display:none;

    align-items:center;
    justify-content:center;
}

.mcf-payment-loading-box{

    text-align:center;
}

.mcf-spinner{

    width:64px;
    height:64px;

    border:4px solid #e5e5e5;
    border-top:4px solid #1f5f99;

    border-radius:50%;

    animation:mcfSpin 1s linear infinite;

    margin:0 auto 20px;
}

@keyframes mcfSpin{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}

.mcf-loading-title{

    font-size:22px;
    font-weight:700;

    margin-bottom:10px;
}

.mcf-loading-text{

    color:#666;
    font-size:14px;
}