/**
 * Coffee Buybox Styles
 */

/* Variation Segments */
.cv-wrap {
    margin: 16px 0;
}

.cv-title {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .6px;
    color: #333;
    margin: 8px 0 6px;
}

.cv-segment {
    display: flex;
    gap: 0;
    border: 1px solid #b08a4a;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    flex-wrap: wrap;
}

.cv-btn {
    flex: 1 0 auto !important;
    padding: 12px 14px !important;
    border: 0 !important;
    background: #fff;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: #6e5222 !important;
    cursor: pointer !important;
    transition: background .18s !important;
}

.cv-btn + .cv-btn {
    border-left: 1px solid #b08a4a;
}

.cv-btn:hover {
    background-color: #f6f0e6 !important;
}

.cv-btn.active {
    background-color: #ece4d6 !important;
    color: #6e5222  !important;
}

.cv-btn.disabled {
    opacity: .45;
    cursor: not-allowed;
}

.cv-form-hidden table.variations,
.cv-form-hidden .reset_variations {
    display: none !important;
}

/* Subscribe/One-time Cards */
.csb-wrap {
    margin: 16px 0;
}

.csb-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid #b08a4a;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.csb-grid.only-one {
    grid-template-columns: 1fr;
}

.csb-card {
    cursor: pointer;
    position: relative;
}

.csb-card + .csb-card {
    border-left: 1px solid #b08a4a;
}

.csb-card .csb-card-inner {
    padding: 14px;
}

.csb-card[data-mode="subscribe"] {
    background: #eae2d3;
}

.csb-card[data-mode="one"] {
    background: #fff;
}

.csb-card.is-active {
    box-shadow: inset 0 0 0 2px #b08a4a;
}

.csb-head {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    gap: 10px;
    flex-direction: column;
    justify-content: center;
}

.csb-radio {
    display: none;
}

.csb-title {
    font-weight: 800;
    color: #6e5222;
    text-transform: uppercase;
    letter-spacing: .6px;
    text-align: center;
}

.csb-price {
    font-weight: 800;
    color: #6e5222;
}

.csb-price span[data-role] {
    font-size: 18px;
}

.csb-old {
    text-decoration: line-through;
    color: #6e5222;
    opacity: .75;
    font-weight: 700;
    font-size: 12px;
    margin-top: 4px;
    text-align: center;
}

.csb-block {
    margin: 12px 0;
}

.csb-label {
    font-size: 12px;
    font-weight: 800;
    color: #6e5222;
    letter-spacing: .4px;
    margin-bottom: 6px;
}

/* Stepper */
.csb-stepper {
    display: flex;
    align-items: center;
    border: 1px solid #c9b79a;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.csb-step {
    width: 30%;
    height: 40px;
    background: #d0b98f;
    color: #fff;
    border: 0;
    font-size: 16px;
    line-height: 0px;
    cursor: pointer;
}

.csb-step:hover {
    filter: brightness(.97);
}

.csb-center {
    width: 70%;
    text-align: center;
    padding: 8px 10px;
    font-weight: 700;
    color: #6e5222;
    background: #fff;
}

.csb-promo {
    font-size: 11px;
    text-transform: uppercase;
    color: #6e5222;
    opacity: .85;
    margin-top: 6px;
    text-align: center;
}

/* Submit Button */
.csb-submit {
    margin-top: 14px;
    width: 100%;
    padding: 14px 16px;
    border-radius: 6px;
    background: #8b6b33;
    color: #fff;
    border: 0;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .6px;
    cursor: pointer;
}

.csb-submit:hover {
    filter: brightness(.96);
}

/* Note */
.csb-note {
    font-size: 11px;
    color: #6e5222;
    opacity: .8;
    margin-top: 6px;
    line-height: 1.3;
    text-transform: uppercase;
}

/* Mobile Responsive */
@media (max-width: 680px) {
    .csb-grid {
        grid-template-columns: 1fr;
        border: 0;
        gap: 12px;
    }
    
    .csb-card {
        border: 1px solid #b08a4a;
        border-radius: 8px;
    }
    
    .csb-card + .csb-card {
        border-left: 0;
    }
    
    .csb-head {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    
    .csb-title {
        text-align: left;
        font-size: 14px;
    }
    
    .csb-radio {
        display: inline-block;
        width: 18px;
        height: 18px;
        border: 2px solid #b08a4a;
        border-radius: 50%;
        flex: 0 0 18px;
        position: relative;
        margin-right: 6px;
        background: #fff;
    }
    
    .csb-card.is-active .csb-radio::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 8px;
        height: 8px;
        background: #b08a4a;
        border-radius: 50%;
        transform: translate(-50%, -50%);
    }
    
    .csb-card .csb-body {
        display: none;
    }
    
    .csb-card.is-active .csb-body {
        display: block;
    }
    
    .csb-price span[data-role] {
        font-size: 14px;
    }
}
