.cc-order-bump,
.cc-order-bump * {
    box-sizing: border-box;
}

.cc-order-bump {
    width: 100%;
    margin: 20px 0;
    overflow: hidden;
    border: var(--cc-ob-border-width) var(--cc-ob-border-style) var(--cc-ob-border-color);
    border-radius: var(--cc-ob-radius);
    background: var(--cc-ob-bg);
    color: var(--cc-ob-text);
}

.cc-order-bump__top {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 14px;
    background: var(--cc-ob-top-bg);
    color: var(--cc-ob-top-color);
    cursor: pointer;
}

.cc-order-bump__arrow {
    display: inline-flex;
    color: var(--cc-ob-arrow);
    font-size: 18px;
    font-weight: 900;
    animation: ccOrderBumpArrow 0.8s ease-in-out infinite alternate;
}

.cc-order-bump__checkbox {
    width: 16px;
    height: 16px;
    accent-color: var(--cc-ob-checkbox);
}

.cc-order-bump__checkbox-text {
    min-width: 0;
    font-weight: 900;
}

.cc-order-bump__price {
    margin-left: auto;
    color: var(--cc-ob-price);
    font-weight: 800;
    white-space: nowrap;
}

.cc-order-bump__body {
    display: flex;
    gap: 18px;
    padding: var(--cc-ob-padding);
}

.cc-order-bump__media {
    flex: 0 0 var(--cc-ob-image);
    width: var(--cc-ob-image);
}

.cc-order-bump__image {
    display: block;
    max-width: 100%;
    height: auto;
}

.cc-order-bump__content {
    min-width: 0;
}

.cc-order-bump__headline {
    margin-bottom: 10px;
    color: var(--cc-ob-headline);
    font-size: 16px;
    font-weight: 900;
}

.cc-order-bump__description {
    color: var(--cc-ob-text);
    font-size: 15px;
    line-height: 1.45;
}

.cc-order-bump__description p {
    margin: 0 0 8px;
}

.cc-order-bump.is-loading {
    opacity: 0.65;
    pointer-events: none;
}

@keyframes ccOrderBumpArrow {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(6px);
    }
}

@media (max-width: 640px) {
    .cc-order-bump__body {
        flex-direction: column;
    }

    .cc-order-bump__media {
        flex-basis: auto;
    }
}
