/* ─── Modal overlay ─── */
#raf-modal {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.6);
    z-index: 99999;
    /* NO display here — controlled by jQuery show/hide */
    align-items: center;
    justify-content: center;
    pointer-events: none; /* backdrop is non-interactive — theme JS cannot close it */
}
#raf-modal-inner {
    background: #fff;
    border-radius: 8px;
    padding: 28px 32px;
    max-width: 480px;
    width: 92%;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 8px 40px rgba(0,0,0,0.25);
    font-size: 16px;
    color: #222;
    max-height: 90vh;
    overflow-y: auto;
    pointer-events: all; /* inner content is fully interactive */
}
/* ─── Persistent coupon banner (shows if modal was closed with a pending deal) ─── */
#raf-coupon-banner {
    background: #f0fff0; border: 2px solid #4caf50;
    border-radius: 6px; padding: 16px 20px;
    margin: 16px 0; text-align: center;
    font-size: 15px; position: relative;
    z-index: 9999;
}
#raf-coupon-banner .raf-coupon-code {
    font-size: 26px; font-family: monospace;
    letter-spacing: 3px; color: #2a6a2a;
    font-weight: bold; display: block; margin: 6px 0;
}
#raf-coupon-banner small { color: #555; display: block; margin-top: 4px; }
#raf-modal-close {
    position: absolute; top: 12px; right: 16px;
    background: none; border: none;
    font-size: 20px; cursor: pointer; color: #666;
}
#raf-modal h3 { margin: 0 0 8px; font-size: 20px; color: #1a1a1a; }
#raf-modal p  { margin: 0 0 16px; color: #444; line-height: 1.5; }
#raf-modal .raf-product-context {
    background: #f5f5f5; border-radius: 4px;
    padding: 10px 14px; margin-bottom: 16px;
    font-size: 14px; color: #555;
}
#raf-modal textarea {
    width: 100%; box-sizing: border-box;
    border: 1px solid #ccc; border-radius: 4px;
    padding: 10px; font-size: 15px;
    min-height: 90px; resize: vertical;
    margin-bottom: 12px;
}
#raf-modal input[type=email] {
    width: 100%; box-sizing: border-box;
    border: 1px solid #ccc; border-radius: 4px;
    padding: 9px 10px; font-size: 15px;
    margin-bottom: 12px;
}
#raf-modal .raf-submit {
    background: #0073aa; color: #fff;
    border: none; border-radius: 4px;
    padding: 11px 24px; font-size: 16px;
    cursor: pointer; width: 100%;
}
#raf-modal .raf-submit:hover { background: #005a87; }
#raf-modal .raf-success { color: #2a7a2a; font-weight: bold; font-size: 17px; }
#raf-modal .raf-error   { color: #b00; font-size: 14px; margin-top: 8px; }

/* ─── Product page button ─── */
.raf-btn-talk {
    background: #f0f7ff; border: 1px solid #0073aa;
    color: #0073aa; border-radius: 4px;
    padding: 10px 18px; font-size: 15px;
    cursor: pointer; width: 100%;
}
.raf-btn-talk:hover { background: #dceeff; }
.raf-talk-note { font-size: 13px; color: #666; margin-top: 6px; }

/* ─── Shop page block ─── */
.raf-ask-part {
    background: #fafaf5; border: 1px solid #ddd;
    border-radius: 6px; padding: 24px 28px;
    margin-top: 32px; text-align: center;
}
.raf-ask-part h3 { margin: 0 0 8px; font-size: 20px; }
.raf-ask-part p  { margin: 0 0 14px; color: #555; }
.raf-btn-ask {
    background: #0073aa; color: #fff;
    border: none; border-radius: 4px;
    padding: 11px 28px; font-size: 16px; cursor: pointer;
}
.raf-btn-ask:hover { background: #005a87; }
