.promo-widget {
    margin:
        18px 0 8px;

    padding:
        15px 0;

    border-top:
        1px solid
        rgba(0, 0, 0, .08);

    border-bottom:
        1px solid
        rgba(0, 0, 0, .08);
}

.promo-widget label > span {
    display: block;

    margin-bottom: 7px;

    font-size: 9px;

    text-transform: uppercase;
    letter-spacing: .08em;

    opacity: .55;
}

.promo-widget__input-row {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 7px;
}

.promo-widget input {
    min-width: 0;
    height: 42px;

    padding:
        0 11px;

    border:
        1px solid
        rgba(0, 0, 0, .18);

    border-radius: 0;

    background: transparent;

    font: inherit;
    font-size: 11px;

    text-transform: uppercase;

    outline: none;
}

.promo-widget input:focus {
    border-color:
        rgba(0, 0, 0, .65);
}

.promo-widget button {
    min-height: 42px;

    padding:
        0 13px;

    border:
        1px solid
        rgba(0, 0, 0, .65);

    border-radius: 0;

    background:
        transparent;

    cursor: pointer;

    font: inherit;
    font-size: 9px;

    text-transform: uppercase;
    letter-spacing: .05em;
}

.promo-widget button:hover {
    background: #111111;
    color: #ffffff;
}

.promo-widget button:disabled {
    cursor: wait;
    opacity: .55;
}

.promo-widget__current {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 12px;
}

.promo-widget__current > span {
    font-size: 10px;
}

.promo-widget__current strong {
    letter-spacing: .06em;
}

.promo-widget__current button {
    min-height: 32px;

    border: 0;

    padding:
        0 5px;

    text-decoration: underline;
    text-underline-offset: 3px;
}

.promo-widget__current button:hover {
    background: transparent;
    color: inherit;
}

.promo-widget__feedback {
    margin-top: 8px;

    font-size: 9px;
    line-height: 1.45;
}

.promo-widget__feedback[data-state="success"] {
    color: #277544;
}

.promo-widget__feedback[data-state="error"] {
    color: #9c3b34;
}

.commerce-summary__row
[data-promo-code-inline] {
    margin-left: 4px;

    font-size: 9px;

    letter-spacing: .04em;
}


@media (max-width: 480px) {

    .promo-widget__input-row {
        grid-template-columns:
            1fr;
    }

    .promo-widget__input-row button {
        width: 100%;
    }

}

.checkout-success__promo {
    display: inline-block;

    margin-bottom: 20px;

    padding:
        8px 11px;

    background:
        #f2eee8;

    font-size: 10px;
    line-height: 1.4;

    letter-spacing: .03em;
}
