/* ==========================================================
   PC CARE - Quote Checkout
========================================================== */

.pcqm-checkout-page{
    max-width:1400px;
    margin:60px auto;
    padding:0 20px;
}

.pcqm-checkout-wrapper{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px;
    align-items:start;
}

/* =========================
   Cards
========================= */

.pcqm-billing,
.pcqm-summary{

    background:#fff;

    border-radius:18px;

    padding:35px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.pcqm-summary{

    position:sticky;
    top:30px;

}

/* =========================
   Headings
========================= */

.pcqm-billing h2,
.pcqm-summary h2{

    margin:0 0 30px;

    font-size:34px;

    font-weight:700;

    color:#1f1f1f;

}

/* =========================
   Form
========================= */

.pcqm-form-group{

    margin-bottom:18px;

}

.pcqm-form-group label{

    display:block;

    margin-bottom:6px;

    font-weight:600;

    color:#333;

    font-size:14px;

}

/* Inputs */

.pcqm-form-group input,
.pcqm-form-group select{

    width:100%;
    height:48px;

    padding:0 16px;

    border:1px solid #d9d9d9;
    border-radius:8px;

    background:#fafafa;

    font-size:15px;

    transition:.25s;

    box-sizing:border-box;

}

.pcqm-form-group textarea{

    width:100%;
    height:120px;

    padding:14px 16px;

    border:1px solid #d9d9d9;
    border-radius:8px;

    background:#fafafa;

    resize:vertical;

    font-size:15px;

    box-sizing:border-box;

}

.pcqm-form-group input:focus,
.pcqm-form-group textarea:focus,
.pcqm-form-group select:focus{

    outline:none;

    background:#fff;

    border-color:#FF1F26;

    box-shadow:0 0 0 3px rgba(255,31,38,.12);

}

/* =========================
   Two Columns
========================= */

.pcqm-row{

    display:flex;

    gap:20px;

}

.pcqm-col{

    flex:1;

}

/* =========================
   Required
========================= */

.required,
abbr.required{

    color:#FF1F26;

    border:none;

    text-decoration:none;

}

/* =========================
   Quote Summary
========================= */

.pcqm-summary{

    background:#fff;

    border-radius:12px;

    padding:30px;

    border:1px solid #ededed;

    box-shadow:0 10px 25px rgba(0,0,0,.05);

}

.pcqm-summary h2{

    margin-bottom:25px;

    font-size:30px;

}

.pcqm-summary-item{

    display:flex;

    gap:15px;

    padding-bottom:20px;

    margin-bottom:20px;

    border-bottom:1px solid #eee;

}

.pcqm-summary-item img{

    width:90px;

    height:90px;

    object-fit:cover;

    border-radius:10px;

    border:1px solid #eee;

}

.pcqm-summary-info{

    flex:1;

}

.pcqm-summary-title{

    font-size:18px;

    font-weight:700;

    margin-bottom:12px;

}

.pcqm-summary-info p{

    margin:4px 0;

    color:#555;

    font-size:14px;

}

.pcqm-summary-info strong{

    color:#222;

}

/* =========================
   Quote Total
========================= */

.pcqm-total{

    margin-top:25px;

    padding-top:20px;

    border-top:1px solid #ddd;

}

.pcqm-total-row{

    display:flex;

    justify-content:space-between;

    margin-bottom:12px;

    font-size:16px;

}

.pcqm-total-row strong{

    font-size:20px;

}

/* =========================
   Submit Button
========================= */

.pcqm-submit{

    width:100%;

    margin-top:25px;

    padding:16px;

    background:#FF1F26;

    color:#fff;

    border:none;

    border-radius:10px;

    font-size:17px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.pcqm-submit:hover{

    background:#d60d15;

}

/* =========================
   Message
========================= */

#pcqm-message{

    margin-bottom:20px;

}

/* =========================
   Responsive
========================= */

@media(max-width:992px){

.pcqm-checkout-wrapper{

    grid-template-columns:1fr;

}

.pcqm-summary{

    position:relative;

    top:0;

}

.pcqm-row{

    flex-direction:column;

}

}

@media(max-width:576px){

.pcqm-billing,
.pcqm-summary{

    padding:20px;

}

.pcqm-billing h2,
.pcqm-summary h2{

    font-size:28px;

}

}