/* Homepage-only offer. All rules are scoped to its own Magento modal. */
.ep-exit-offer-modal,
.ep-exit-offer-modal * { box-sizing: border-box; }
.ep-exit-offer-modal .modal-inner-wrap {
    width: calc(100% - 32px);
    max-width: 520px;
    margin: 5vh auto;
    border-top: 5px solid #ef1020;
    border-radius: 18px;
    box-shadow: 0 24px 80px rgba(24, 26, 29, .22);
    background: #fff;
    color: #22252a;
}
.ep-exit-offer-modal .modal-header { padding: 38px 34px 0; }
.ep-exit-offer-modal .modal-title {
    margin: 0;
    padding: 0 12px 0 0;
    border: 0;
    color: #22252a;
    font-size: 29px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.7px;
}
.ep-exit-offer-modal .action-close { top: 3px; right: 3px; padding: 13px; }
.ep-exit-offer-modal .action-close::before { color: #62666b; font-size: 14px; }
.ep-exit-offer-modal .modal-content { padding: 18px 34px 28px; }
.ep-exit-offer-modal .ep-exit-offer { font-size: 15px; line-height: 1.55; }
.ep-exit-offer-modal .ep-exit-offer p { margin: 0 0 14px; }
.ep-exit-offer-modal .ep-exit-offer__eyebrow {
    color: #bf1020;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;
}
.ep-exit-offer-modal .ep-exit-offer__intro { color: #62666b; }
.ep-exit-offer-modal .ep-exit-offer__price {
    padding: 18px 20px;
    border-radius: 12px;
    background: #fff3f4;
}
.ep-exit-offer-modal .ep-exit-offer__price span { display: block; font-size: 13px; }
.ep-exit-offer-modal .ep-exit-offer__price strong {
    display: block;
    color: #d20d1d;
    font-size: 44px;
    line-height: 1.2;
    letter-spacing: -1px;
}
.ep-exit-offer-modal .ep-exit-offer__terms { padding: 4px 0; font-size: 17px; }
.ep-exit-offer-modal .ep-exit-offer__terms strong { font-weight: 700; }
.ep-exit-offer-modal .ep-exit-offer__coupon label { display: block; margin-bottom: 8px; font-size: 12px; }
.ep-exit-offer-modal .ep-exit-offer__code-row { display: flex; align-items: stretch; gap: 10px; }
.ep-exit-offer-modal #ep-exit-offer-code {
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
    height: 46px;
    border: 1px dashed #dc9aa0;
    border-radius: 7px;
    padding: 8px 12px;
    background: #fff;
    color: #22252a;
    font-size: 21px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 2px;
}
.ep-exit-offer-modal button {
    font-family: inherit;
    box-shadow: none;
    text-shadow: none;
    cursor: pointer;
}
.ep-exit-offer-modal .ep-exit-offer__copy {
    flex: 0 0 auto;
    border: 1px solid #ddd9d9;
    border-radius: 7px;
    padding: 10px 14px;
    background: #fff;
    color: #bf1020;
    font-size: 12px;
    font-weight: 600;
}
.ep-exit-offer-modal .ep-exit-offer__copy:hover { background: #fff3f4; border-color: #dc9aa0; }
.ep-exit-offer-modal p.ep-exit-offer__status { min-height: 18px; margin: 7px 0 10px; color: #62666b; font-size: 11px; }
.ep-exit-offer-modal .ep-exit-offer__reserve {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 100%;
    min-height: 50px;
    border: 1px solid #d20d1d;
    border-radius: 8px;
    padding: 12px;
    background: #d20d1d;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
}
.ep-exit-offer-modal .ep-exit-offer__reserve:hover { background: #cf0c1b; border-color: #cf0c1b; color: #fff; }
.ep-exit-offer-modal .ep-exit-offer__reserve span { font-size: 23px; line-height: 1; }
.ep-exit-offer-modal .ep-exit-offer__dismiss {
    display: block;
    margin: 5px auto 13px;
    padding: 10px 18px;
    border: 0;
    background: transparent;
    color: #62666b;
    font-size: 12px;
    font-weight: 400;
}
.ep-exit-offer-modal .ep-exit-offer__dismiss:hover { color: #22252a; text-decoration: underline; }
.ep-exit-offer-modal p.ep-exit-offer__fine-print { margin: 0; color: #62666b; font-size: 11px; line-height: 1.6; }
.ep-exit-offer-modal button:focus-visible,
.ep-exit-offer-modal input:focus-visible { outline: 2px solid #bf1020; outline-offset: 3px; }
@media (max-width: 480px) {
    .ep-exit-offer-modal .modal-header { padding: 34px 20px 0; }
    .ep-exit-offer-modal .modal-content { padding: 16px 20px 24px; }
    .ep-exit-offer-modal .modal-title { font-size: 25px; }
    .ep-exit-offer-modal .ep-exit-offer__code-row { flex-wrap: wrap; }
}
