/* ==========================================================
   THE SALTY FLY
   CHECKOUT 1.0
========================================================== */

.checkout-container{
    max-width:1100px;
    margin:0 auto;
    padding:60px 0 100px;
}

.checkout-step{display:none;}
.checkout-step.active{display:block;}

.step-header{
    margin-bottom:40px;
}
.step-header h1,
.step-header h2{
    margin-bottom:12px;
}

.checkout-progress{
    margin-bottom:50px;
}
.checkout-progress ol{
    list-style:none;
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:0;
    margin:0;
}
.checkout-progress li{
    flex:1;
    text-align:center;
    opacity:.45;
}
.checkout-progress li.active{
    opacity:1;
}
.step-number{
    display:inline-flex;
    width:40px;
    height:40px;
    border:1px solid var(--color-primary);
    border-radius:50%;
    align-items:center;
    justify-content:center;
    margin-bottom:10px;
}
.selection-items{
    display:grid;
    gap:24px;
}
.selection-item,
.review-card{
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:12px;
    padding:28px;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}
.selection-item{
    display:grid;
    grid-template-columns:140px 1fr;
    gap:24px;
    align-items:center;
}
.selection-image img{
    width:100%;
    display:block;
}
.selection-summary,
.review-summary{
    margin-top:32px;
    padding:28px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:12px;
    background:#fafafa;
}
.summary-row,
.summary-total{
    display:flex;
    justify-content:space-between;
    padding:10px 0;
}
.summary-total{
    border-top:1px solid #ddd;
    margin-top:10px;
    padding-top:18px;
    font-size:1.1rem;
}
.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}
.form-field-wide{
    grid-column:1/-1;
}
.form-field{
    margin-bottom:18px;
}
.form-field label{
    display:block;
    margin-bottom:8px;
    font-weight:600;
}
.form-field input,
.form-field textarea,
.form-field select {
    width:100%;
    padding:12px 14px;
    border:1px solid #cfcfcf;
    border-radius:8px;
    font:inherit;
    box-sizing:border-box;
    background-color:#fff;
}
.form-field select {
    height:46px;
    cursor:pointer;
}
.review-card{
    margin-bottom:24px;
}
.review-card-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}
.edit-link{
    background:none;
    border:none;
    cursor:pointer;
    color:var(--color-primary);
}
.step-navigation{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:40px;
    gap:20px;
}
.hidden{
    display:none!important;
}
.checkbox{
    display:flex;
    gap:12px;
    align-items:flex-start;
}
.thankyou-card{
    max-width:700px;
    margin:40px auto;
    padding:40px;
    text-align:center;
    border:1px solid rgba(0,0,0,.08);
    border-radius:12px;
}
@media (max-width:900px){
    .form-grid,
    .selection-item{
        grid-template-columns:1fr;
    }
    .checkout-progress ol{
        flex-direction:column;
    }
    .step-navigation{
        flex-direction:column;
        align-items:stretch;
    }
}
/* ==========================================================
   SUBMIT BUTTON
   ========================================================== */

#submit-order {

    transition: opacity .25s ease;

}

#submit-order:disabled {

    opacity: .65;

    cursor: not-allowed;

    pointer-events: none;

}

#submit-order:not(:disabled) {

    opacity: 1;

    cursor: pointer;

}

/* ==========================================================
   Checkbox Lieferadresse / Versandadresse
   ========================================================== */

input[type="checkbox"] {

    width: 22px;
    height: 22px;

    margin-right: 12px;

    vertical-align: middle;

    cursor: pointer;

}

#shipping-country,
#billing-country {
    width: 100%;
    height: 48px;
    padding: 12px 14px;
    border: 1px solid #cfcfcf;
    border-radius: 8px;
    font-size: 16px;
    font-family: inherit;
    background-color: #fff;
    box-sizing: border-box;
}
