/* ==========================================================
   Phase 5 — Engagement, Loyalty & Platform Protection
   RTL, responsive 320px → 1440px+
   ========================================================== */

:root{
  --rf-primary:#D4511E; --rf-secondary:#E8722D; --rf-accent:#F5A623;
  --rf-light:#FFF8F3; --rf-section:#FFF0E5; --rf-dark:#2C1810;
  --rf-success:#2D7A3A; --rf-error:#C62828; --rf-info:#1565C0;
}

.rf-page{background:var(--rf-light);min-height:70vh;padding:24px 0;font-family:'Noto Sans Arabic','DM Sans',sans-serif;direction:rtl}
.rf-container{max-width:1200px;margin:0 auto;padding:0 16px}
.rf-page-title{color:var(--rf-dark);font-size:28px;font-weight:700;margin:0 0 24px}
.rf-section-title{color:var(--rf-dark);font-size:22px;font-weight:600;margin:32px 0 16px;border-bottom:2px solid var(--rf-section);padding-bottom:8px}
.rf-btn{background:var(--rf-primary);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:600;cursor:pointer;font-family:inherit;font-size:14px;transition:background .2s}
.rf-btn:hover{background:var(--rf-secondary)}
.rf-btn-primary{background:var(--rf-primary)}
.rf-btn-disabled,.rf-btn[disabled]{background:#ccc;cursor:not-allowed}

/* ===== MESSAGES ===== */
.rf-chat-wrap{display:grid;grid-template-columns:320px 1fr;gap:16px;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05);min-height:600px;overflow:hidden}
.rf-chat-list{background:var(--rf-light);border-left:1px solid var(--rf-section)}
.rf-chat-list-head{padding:16px;font-weight:700;border-bottom:1px solid var(--rf-section);background:#fff}
.rf-chat-conversations{overflow-y:auto;max-height:560px}
.rf-chat-conv{padding:12px 16px;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:10px;align-items:center;position:relative}
.rf-chat-conv:hover,.rf-chat-conv.active{background:var(--rf-section)}
.rf-chat-conv img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.rf-chat-conv .n{font-weight:600;font-size:14px;color:var(--rf-dark)}
.rf-chat-conv .l{font-size:12px;color:#777;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}
.rf-chat-conv .t{font-size:11px;color:#999;margin-right:auto}
.rf-chat-conv .b{background:var(--rf-primary);color:#fff;border-radius:10px;padding:1px 7px;font-size:11px;position:absolute;left:16px;top:14px;font-weight:bold}
.rf-chat-conv .online{position:absolute;bottom:12px;right:48px;width:10px;height:10px;background:#2D7A3A;border-radius:50%;border:2px solid #fff}

.rf-chat-main{display:flex;flex-direction:column;height:600px}
.rf-chat-header{padding:14px 16px;border-bottom:1px solid var(--rf-section);background:#fff;display:flex;align-items:center;gap:10px}
.rf-chat-header img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.rf-chat-body{flex:1;overflow-y:auto;padding:16px;background:var(--rf-light)}
.rf-msg{max-width:70%;padding:10px 14px;border-radius:14px;margin:8px 0;word-wrap:break-word;font-size:14px;line-height:1.4}
.rf-msg.mine{background:var(--rf-primary);color:#fff;margin-right:auto;border-bottom-right-radius:4px}
.rf-msg.theirs{background:#fff;color:var(--rf-dark);margin-left:auto;border-bottom-left-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.rf-msg .t{font-size:10px;opacity:.75;margin-top:4px;display:block}
.rf-msg img{max-width:100%;border-radius:8px;margin-top:6px}
.rf-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--rf-section);background:#fff;align-items:center}
.rf-chat-form input[type=text]{flex:1;border:1px solid var(--rf-section);border-radius:20px;padding:10px 16px;font-family:inherit;font-size:14px}
.rf-chat-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#999}
.rf-blocked-banner{background:#FFEBEE;color:var(--rf-error);padding:12px;border-radius:8px;margin:10px 0;font-size:14px}
.rf-chat-locked{background:#FFF3E0;color:#E65100;padding:12px;border-radius:8px;text-align:center;font-size:14px}

@media(max-width:768px){
  .rf-chat-wrap{grid-template-columns:1fr}
  .rf-chat-main{display:none}
  .rf-chat-main.mobile-active{display:flex;height:calc(100vh - 140px)}
  .rf-chat-main.mobile-active ~ .rf-chat-list,
  .mobile-view-chat .rf-chat-list{display:none}
}

/* ===== POINTS ===== */
.rf-points-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.rf-points-card{background:#fff;padding:24px;border-radius:12px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.rf-points-card-icon{font-size:32px;margin-bottom:8px}
.rf-points-card-label{color:#666;font-size:13px;margin-bottom:6px}
.rf-points-card-value{color:var(--rf-primary);font-size:28px;font-weight:700}
.rf-points-progress{background:#fff;padding:20px;border-radius:12px;margin-bottom:24px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.rf-points-progress-label{font-weight:600;margin-bottom:10px}
.rf-progress-bar{background:#F0F0F0;height:10px;border-radius:5px;overflow:hidden}
.rf-progress-fill{height:100%;background:linear-gradient(90deg,var(--rf-primary),var(--rf-accent));transition:width .3s}
.rf-points-progress-remain{margin-top:8px;color:#666;font-size:13px}
.rf-redemption-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.rf-tier-card{background:#fff;padding:20px;border-radius:12px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.05);border:2px solid transparent}
.rf-tier-card.disabled{opacity:.6}
.rf-tier-points{font-weight:700;font-size:18px;color:var(--rf-dark)}
.rf-tier-value{color:var(--rf-primary);font-size:16px;margin:6px 0 4px}
.rf-tier-extra{font-size:12px;color:var(--rf-success);margin-bottom:8px}
.rf-redeem-btn{width:100%;margin-top:10px}
.rf-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.rf-table th,.rf-table td{padding:10px 14px;text-align:right;border-bottom:1px solid #f0f0f0}
.rf-table th{background:var(--rf-section);font-weight:600}
.rf-pos{color:var(--rf-success);font-weight:600}
.rf-neg{color:var(--rf-error);font-weight:600}

@media(max-width:600px){
  .rf-points-cards{grid-template-columns:1fr;gap:12px}
  .rf-redemption-tiers{grid-template-columns:1fr}
  .rf-table{font-size:13px}
  .rf-table th,.rf-table td{padding:8px 10px}
}

/* ===== REFERRALS ===== */
.rf-ref-code-box{background:#fff;padding:20px;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.rf-ref-code-box label{display:block;font-weight:600;margin-bottom:8px;color:#666}
.rf-copy-row{display:flex;gap:8px}
.rf-copy-row input{flex:1;padding:10px 14px;border:1px solid var(--rf-section);border-radius:8px;font-family:inherit;font-size:14px;background:var(--rf-light)}
.rf-copy-row .rf-btn{min-width:80px}
.rf-ref-share{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.rf-btn-wa{background:#25D366}
.rf-btn-fb{background:#1877F2}
.rf-ref-how{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05);margin-bottom:24px}
.rf-ref-how ol{padding-right:20px;line-height:1.9}
.rf-ref-cap{background:#FFF3E0;color:#E65100;padding:12px;border-radius:8px;margin-top:16px;font-size:14px}

/* ===== NOTIFICATIONS ===== */
.rf-notifs-actions{margin-bottom:16px;text-align:left}
.rf-notifs-list{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.rf-notif-item{padding:16px;border-bottom:1px solid #f0f0f0;text-decoration:none;color:var(--rf-dark);display:block;transition:background .15s}
.rf-notif-item:hover{background:var(--rf-light)}
.rf-notif-item.unread{background:var(--rf-section);border-right:3px solid var(--rf-primary)}
.rf-notif-item .t{font-weight:600;font-size:15px;margin-bottom:4px}
.rf-notif-item .m{color:#666;font-size:14px}
.rf-notif-item .d{color:#999;font-size:12px;margin-top:4px}
.rf-prefs-form{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.rf-pref-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f0f0f0;cursor:pointer}
.rf-pref-row:last-of-type{border-bottom:none}

/* ===== RATINGS ===== */
.rf-rating-stars{display:flex;gap:4px;justify-content:center;margin:10px 0}
.rf-star{font-size:32px;color:#ddd;cursor:pointer;transition:color .15s;background:none;border:none}
.rf-star.active,.rf-star:hover,.rf-star:hover~.rf-star{color:var(--rf-accent)}
.rf-rating-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0}
.rf-rating-row-label{font-size:14px;color:#555}
.rf-review-card{background:#fff;padding:16px;border-radius:10px;margin-bottom:12px;box-shadow:0 2px 4px rgba(0,0,0,.05)}
.rf-review-photos{display:flex;gap:6px;margin-top:8px}
.rf-review-photos img{width:60px;height:60px;object-fit:cover;border-radius:6px;cursor:pointer}
.rf-badge-good{background:var(--rf-success);color:#fff;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}
.rf-badge-warn{background:#FFA000;color:#fff;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}

/* ===== TRIAL ===== */
.rf-trial-price del{color:#999;font-size:14px;margin-left:6px}
.rf-trial-price ins{color:var(--rf-primary);font-weight:700;text-decoration:none}
.rf-trial-badge{background:var(--rf-accent);color:#fff;padding:3px 8px;border-radius:4px;font-size:11px;margin-right:6px}

/* ===== SPONSORSHIP ===== */
.rf-sponsored-badge{background:var(--rf-accent);color:#fff;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;display:inline-block}

/* ===== EVENTS PAGE ===== */
.rf-events-filter{background:#fff;padding:16px;border-radius:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:24px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.rf-events-filter select,.rf-events-filter input{padding:10px;border:1px solid var(--rf-section);border-radius:8px;font-family:inherit;font-size:14px}
.rf-ev-cooks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:32px}
.rf-ev-cook-card{background:#fff;padding:20px;border-radius:12px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:transform .2s}
.rf-ev-cook-card:hover{transform:translateY(-3px)}
.rf-ev-cook-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:block}
.rf-ev-cook-name{font-weight:700;font-size:16px;color:var(--rf-dark)}
.rf-ev-cook-rating,.rf-ev-cook-city,.rf-ev-cook-capacity,.rf-ev-cook-specs{color:#666;font-size:13px;margin-top:4px}
.rf-ev-cook-card .rf-btn{margin-top:12px;width:100%}
.rf-ev-how{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.rf-ev-how ol{padding-right:20px;line-height:1.9}
.rf-ev-warn{background:#FFF3E0;color:#E65100;padding:12px;border-radius:8px;margin-top:16px}

@media(max-width:500px){
  .rf-page-title{font-size:22px}
  .rf-section-title{font-size:18px}
  .rf-points-card-value{font-size:22px}
  .rf-events-filter{grid-template-columns:1fr}
}
