/* Coupon popup: shared layout for code and deal views. */
.coupon_modal.modal { padding: 16px !important; }
.coupon_modal.modal .modal-dialog {
    width: min(100%, 680px);
    max-width: 680px;
    margin: 5vh auto;
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 72px rgba(14, 24, 43, .3);
}
.coupon_modal.modal .modal-dialog .modal-content {
    position: relative;
    border: 0;
    border-radius: 20px 20px 0 0;
    background: #fff;
    box-shadow: none;
}
.coupon_modal.modal .coupon_modal_content {
    padding: 42px 36px 28px;
    color: #172238;
    font-size: 16px;
}
.coupon_modal.modal #storecoupontitle {
    margin: 0 0 12px;
    color: #172238;
    font-size: clamp(23px, 3vw, 30px);
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.coupon_modal.modal #storecoupondesc { color: #536176; line-height: 1.55; overflow-wrap: anywhere; }
.coupon_modal.modal .coupon_modal_content h5,
.coupon_modal.modal .coupon_modal_content h3 { color: #536176; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.coupon_modal.modal button.close {
    z-index: 2;
    top: 12px;
    right: 12px;
    display: grid;
    width: 40px;
    height: 40px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #edf1f6;
    color: #25334a;
    font-size: 16px;
    opacity: 1;
}
.coupon_modal.modal button.close:hover { background: #dce4ee; color: #172238; }
.coupon_modal.modal .coupon-code-actions { display: flex; gap: 10px; align-items: stretch; margin-top: 14px; }
.coupon_modal.modal .coupon_code {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    min-height: 52px;
    margin: 0;
    padding: 10px 14px;
    border: 2px dashed #c32032;
    border-radius: 10px;
    background: #fff6f7;
    color: #7b1523;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: .035em;
    line-height: 1.35;
    overflow-wrap: anywhere;
    cursor: pointer;
    user-select: text;
}
.coupon_modal.modal .coupon-copy-button {
    flex: 0 0 auto;
    min-height: 52px;
    padding: 10px 22px;
    border: 1px solid #c32032;
    border-radius: 10px;
    background: #c32032;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}
.coupon_modal.modal .coupon-copy-button:hover { border-color: #9f1828; background: #9f1828; color: #fff; }
.coupon_modal.modal .coupon-copy-status { min-height: 1.4em; margin: 8px 0 0; color: #536176; font-size: 13px; }
.coupon_modal.modal .coupon-copy-status:empty { display: none; }
.coupon_modal.modal .newsletter-modal { padding: 0 36px 30px; background: #fff; }
.coupon_modal.modal .newsletter-modal .strong_but {
    display: inline-flex;
    max-width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .3em;
    padding: 11px 22px;
    border: 1px solid #172238;
    border-radius: 10px;
    background: #172238;
    color: #fff;
    font-size: 16px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    text-decoration: none;
}
.coupon_modal.modal .newsletter-modal .strong_but:hover { border-color: #283d5e; background: #283d5e; }
.coupon_modal.modal .nav.nav-justified_xxx {
    margin: 0;
    padding: 8px 20px;
    border: 0;
    background: #172238;
}
.coupon_modal.modal .nav.nav-justified_xxx > li { float: none; padding: 8px 0 !important; text-align: left !important; }
.coupon_modal.modal .nav.nav-justified_xxx > li:only-child:empty { display: none; }
.coupon_modal.modal .nav.nav-justified_xxx h3 { margin: 0 !important; font-size: 17px; line-height: 1.4; }
.coupon_modal.modal .nav.nav-justified_xxx a {
    display: block;
    padding: 8px 10px !important;
    border-radius: 8px;
    background: transparent;
    color: #fff;
    font-size: 14px !important;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.coupon_modal.modal .nav.nav-justified_xxx a:hover { background: rgba(255,255,255,.1); }
.coupon_modal.modal :focus-visible { outline: 3px solid #216ad3; outline-offset: 3px; }
@media (max-width: 600px) {
    .coupon_modal.modal { padding: 12px !important; }
    .coupon_modal.modal .modal-dialog { margin: 2vh auto; border-radius: 16px; }
    .coupon_modal.modal .coupon_modal_content { padding: 52px 20px 22px; }
    .coupon_modal.modal .coupon-code-actions { flex-direction: column; }
    .coupon_modal.modal .coupon-code-area { padding: 0 20px; }
    .coupon_modal.modal .coupon-copy-button { width: 100%; }
    .coupon_modal.modal .newsletter-modal { padding: 0 20px 24px; }
    .coupon_modal.modal .newsletter-modal .strong_but { width: 100%; }
    .coupon_modal.modal .nav.nav-justified_xxx { padding: 8px 16px; }
}
