/* 구독권 모달 - 범용 */
.sub-modal-overlay { position: fixed; inset: 0; background: var(--rp-overlay); z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 20px; }
.sub-modal-box { position: relative; background: var(--rp-surface); border: 1px solid var(--rp-border); border-radius: var(--rp-radius-lg); padding: 28px 32px; max-width: 420px; width: 100%; box-shadow: var(--rp-shadow-lg); text-align: center;}
.sub-modal-close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border: none; background: transparent; color: var(--rp-text-muted); font-size: 24px; line-height: 1; cursor: pointer; border-radius: var(--rp-radius-sm); }
.sub-modal-close:hover { color: var(--rp-text); background: var(--rp-surface-hover); }
.sub-modal-box .subscription-box { margin: 0; }
.sub-modal-box .subscription-box h3 { margin: 0 0 12px; font-size: 1.15rem; color: var(--rp-warning); }
.sub-modal-box .subscription-box p { margin: 0 0 20px; font-size: 0.95rem; color: var(--rp-text-muted); line-height: 1.6; }
.sub-modal-box .sub-btn { display: inline-block; padding: 12px 24px; background: linear-gradient(135deg, var(--rp-accent), var(--rp-primary)); color: var(--rp-chrome-title); font-weight: 600; border-radius: var(--rp-radius-sm); text-decoration: none; transition: opacity .2s; }
.sub-modal-box .sub-btn:hover { opacity: .9; }

.sub-modal-required-plan { display: none; color: var(--rp-warning); font-size: 13px; margin-bottom: 8px; }
