.offer-modal {
    width: min(620px, 100%);
}

.offer-body {
    display: grid;
    gap: 22px;
}

.offer-intro {
    max-width: 520px;
}

.offer-intro > strong {
    display: block;
    margin-bottom: 7px;
    font-size: 1.08rem;
    font-weight: 650;
}

.offer-intro p,
.offer-error p,
.offer-actions p {
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
}

.offer-prices {
    border-top: 1px solid var(--line);
}

.offer-price {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 0;
    border-bottom: 1px solid var(--line);
}

.offer-price-copy {
    display: grid;
    gap: 3px;
}

.offer-price-copy small,
.offer-price-state {
    color: var(--muted);
    font-size: 0.78rem;
}

.offer-price-copy strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.8rem;
    font-weight: 500;
}

.offer-price.is-current .offer-price-copy strong,
.offer-price.is-current .offer-price-state {
    color: var(--gold);
}

.offer-price-state {
    text-align: right;
}

.offer-terms {
    margin: 0;
    color: var(--text);
    font-size: 0.9rem;
    line-height: 1.55;
}

.offer-actions {
    display: grid;
    justify-items: start;
    gap: 10px;
}

.offer-actions .primary-command {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.offer-actions .primary-command:disabled {
    color: var(--muted);
    border-color: var(--line);
    background: var(--surface-soft);
    box-shadow: none;
    cursor: default;
}

.offer-actions p {
    font-size: 0.78rem;
}

.offer-loading,
.offer-error {
    min-height: 120px;
    display: grid;
    align-content: center;
}

.offer-loading {
    color: var(--muted);
}

.offer-error {
    gap: 7px;
}

@media (max-width: 640px) {
    .offer-price {
        align-items: flex-end;
    }

    .offer-price-copy strong {
        font-size: 1.55rem;
    }
}
