/* ============================================
   LPS NODE — Roblox Page Feature Add-ons
   Matches the design tokens already defined in
   roblox.css:
     --primary:#ff4fa3  --secondary:#ff7bc3
     --bg:#fff8fc       --muted:#6b7280
   Poppins, rounded cards, pink gradients.
   New classes are prefixed "rf-" so nothing here
   collides with your existing roblox.css rules.
   ============================================ */

.rf-hidden{
display:none !important;
}

/* ---------- EMPTY SEARCH STATE ---------- */

.rf-no-results{
text-align:center;
padding:70px 20px;
color:#6b7280;
grid-column:1/-1;
}

.rf-no-results i{
font-size:2.5rem;
color:#ffc2de;
margin-bottom:15px;
display:block;
}

/* ---------- MARKET DASHBOARD (uses .market-grid/.market-card already in roblox.css) ---------- */

.rf-market-section{
padding:100px 5% 20px;
}

/* ---------- TRENDING (uses .trending-section/.trending-grid/.trend-card/.rank already in roblox.css) ---------- */

.rf-trending-section .rank{
cursor:default;
}

.rf-trend-clickable{
cursor:pointer;
}

/* ---------- LEADERBOARD (uses .leaderboard/.leaderboard-row already in roblox.css) ---------- */

.rf-leaderboard-section{
padding:0 5% 120px;
}

.leaderboard-row{
cursor:pointer;
}

/* ---------- MODAL (new — matches card style: 30px radius, soft shadow, pink accents) ---------- */

.rf-modal-overlay{
position:fixed;
inset:0;
background:rgba(17,24,39,.55);
backdrop-filter:blur(4px);
display:flex;
align-items:center;
justify-content:center;
z-index:1000;
padding:20px;
opacity:0;
pointer-events:none;
transition:.25s;
}

.rf-modal-overlay.rf-open{
opacity:1;
pointer-events:auto;
}

.rf-modal{
background:#fff;
border-radius:30px;
max-width:480px;
width:100%;
max-height:90vh;
overflow-y:auto;
transform:translateY(20px);
transition:.25s;
position:relative;
border:1px solid #ffe5f3;
font-family:'Poppins',sans-serif;
}

.rf-modal-overlay.rf-open .rf-modal{
transform:translateY(0);
}

.rf-modal-close{
position:absolute;
top:16px;
right:16px;
width:38px;
height:38px;
border-radius:50%;
background:#ffe8f4;
color:#ff4fa3;
border:none;
font-size:1rem;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
z-index:2;
transition:.2s;
}

.rf-modal-close:hover{
transform:rotate(90deg);
}

.rf-modal-image{
height:220px;
background:linear-gradient(180deg,#fff0f7,#ffffff);
display:flex;
align-items:center;
justify-content:center;
border-radius:30px 30px 0 0;
}

.rf-modal-image img{
width:140px;
height:140px;
object-fit:contain;
}

.rf-modal-body{
padding:30px;
}

.rf-modal-body h2{
font-size:1.6rem;
font-weight:800;
margin-bottom:18px;
color:#111827;
}

.rf-modal-stats{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px;
margin-bottom:20px;
}

.rf-modal-stat{
background:#fff7fb;
border-radius:15px;
padding:15px;
text-align:center;
}

.rf-modal-stat span{
display:block;
font-size:.75rem;
color:#888;
margin-bottom:5px;
}

.rf-modal-stat strong{
font-size:1.3rem;
font-weight:800;
color:#ff4fa3;
}

.rf-modal-badges{
display:flex;
gap:8px;
flex-wrap:wrap;
margin-bottom:20px;
}

.rf-modal-badges span{
padding:8px 15px;
border-radius:999px;
font-size:.78rem;
font-weight:700;
}

.rf-modal-note{
font-size:.78rem;
color:#9ca3af;
line-height:1.7;
border-top:1px solid #f1f1f1;
padding-top:15px;
}

.rf-modal-compare-btn{
display:block;
width:100%;
margin-top:16px;
padding:15px;
border:none;
border-radius:15px;
background:linear-gradient(135deg,#ff4fa3,#ff7bc3);
color:#fff;
font-weight:700;
cursor:pointer;
transition:.3s;
}

.rf-modal-compare-btn:hover{
transform:translateY(-2px);
}

/* ---------- COMPARISON TOOL (new) ---------- */

.rf-compare{
padding:100px 5%;
background:linear-gradient(180deg,#fff8fc,#fff);
}

.rf-compare-header{
text-align:center;
margin-bottom:50px;
}

.rf-compare-header span{
color:#ff4fa3;
font-weight:700;
}

.rf-compare-header h2{
font-size:2.6rem;
font-weight:900;
margin-top:10px;
}

.rf-compare-box{
max-width:900px;
margin:auto;
background:#fff;
border-radius:30px;
padding:40px;
box-shadow:0 15px 40px rgba(0,0,0,.05);
border:1px solid #ffe5f3;
}

.rf-compare-pickers{
display:grid;
grid-template-columns:1fr auto 1fr;
gap:20px;
align-items:center;
margin-bottom:35px;
}

.rf-compare-vs{
font-weight:900;
color:#ff4fa3;
font-size:1.5rem;
text-align:center;
}

.rf-compare-pickers select{
width:100%;
padding:16px 20px;
border-radius:15px;
border:none;
outline:none;
background:#fff7fb;
font-size:.95rem;
font-family:'Poppins',sans-serif;
box-shadow:0 8px 25px rgba(0,0,0,.04);
}

.rf-compare-result{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
}

.rf-compare-card{
background:#fff7fb;
border-radius:20px;
padding:25px;
text-align:center;
border:1px solid #ffe5f3;
}

.rf-compare-card h4{
margin-bottom:16px;
font-size:1.1rem;
font-weight:800;
}

.rf-compare-card .rf-cc-row{
display:flex;
justify-content:space-between;
padding:9px 0;
border-bottom:1px solid #f1f1f1;
font-size:.9rem;
color:#374151;
}

.rf-compare-verdict{
grid-column:1/-1;
text-align:center;
padding:18px;
border-radius:15px;
background:#ffe8f4;
color:#ff4fa3;
font-weight:800;
margin-top:5px;
}

.rf-compare-placeholder{
text-align:center;
color:#9ca3af;
padding:20px;
grid-column:1/-1;
}

/* ---------- TRADE CALCULATOR RESULT STATES (uses existing .result-box, matches badge palette) ---------- */

.result-box.rf-fair{
background:#dcfce7;
color:#16a34a;
}

.result-box.rf-overpay{
background:#fee2e2;
color:#dc2626;
}

.result-box.rf-underpay{
background:#fef3c7;
color:#ca8a04;
}

.result-box.rf-empty{
background:#f3f4f6;
color:#6b7280;
}

/* ---------- MULTI-ITEM TRADE CALCULATOR (new) ---------- */

.rf-mc-section{
padding:110px 5%;
}

.rf-mc-header{
text-align:center;
margin-bottom:45px;
}

.rf-mc-header span{
color:#ff4fa3;
font-weight:700;
}

.rf-mc-header h2{
font-size:2.6rem;
font-weight:900;
margin-top:10px;
}

.rf-mc-header p{
color:#6b7280;
max-width:600px;
margin:12px auto 0;
}

.rf-mc-disclaimer{
color:#ca8a04 !important;
background:#fef3c7;
display:inline-block;
padding:10px 18px;
border-radius:999px;
font-size:.8rem !important;
font-weight:600;
margin-top:14px !important;
max-width:none !important;
}

.rf-mc-box{
max-width:1000px;
margin:auto;
background:#fff;
border-radius:30px;
padding:35px;
box-shadow:0 15px 40px rgba(0,0,0,.05);
border:1px solid #ffe5f3;
}

.rf-mc-sides{
display:grid;
grid-template-columns:1fr auto 1fr;
gap:25px;
align-items:start;
}

.rf-mc-vs{
font-weight:900;
color:#ff4fa3;
font-size:1.4rem;
text-align:center;
padding-top:50px;
}

.rf-mc-side h3{
font-size:1.05rem;
font-weight:800;
margin-bottom:14px;
}

.rf-mc-side.rf-give h3{color:#dc2626;}
.rf-mc-side.rf-receive h3{color:#16a34a;}

.rf-mc-search-wrap{
position:relative;
margin-bottom:14px;
}

.rf-mc-search{
width:100%;
padding:15px 18px;
border:none;
outline:none;
border-radius:15px;
background:#fff7fb;
font-size:.9rem;
font-family:'Poppins',sans-serif;
box-shadow:0 8px 25px rgba(0,0,0,.04);
}

.rf-mc-suggestions{
position:absolute;
top:calc(100% + 6px);
left:0;
right:0;
background:#fff;
border-radius:15px;
box-shadow:0 15px 40px rgba(0,0,0,.12);
border:1px solid #ffe5f3;
max-height:220px;
overflow-y:auto;
z-index:10;
display:none;
}

.rf-mc-suggestions.rf-open{
display:block;
}

.rf-mc-suggestion{
display:flex;
justify-content:space-between;
align-items:center;
padding:12px 16px;
cursor:pointer;
font-size:.85rem;
border-bottom:1px solid #fef4f9;
}

.rf-mc-suggestion:last-child{
border-bottom:none;
}

.rf-mc-suggestion:hover{
background:#fff7fb;
}

.rf-mc-suggestion strong{
color:#ff4fa3;
font-weight:800;
}

.rf-mc-suggestion-empty{
padding:16px;
text-align:center;
color:#9ca3af;
font-size:.85rem;
}

.rf-mc-chips{
display:flex;
flex-direction:column;
gap:8px;
min-height:60px;
margin-bottom:16px;
}

.rf-mc-chip{
display:flex;
align-items:center;
gap:10px;
background:#fff7fb;
border-radius:12px;
padding:10px 12px;
border:1px solid #ffe5f3;
}

.rf-mc-chip img{
width:32px;
height:32px;
object-fit:contain;
flex-shrink:0;
}

.rf-mc-chip-name{
flex:1;
font-size:.85rem;
font-weight:600;
}

.rf-mc-chip-value{
font-size:.82rem;
font-weight:800;
color:#ff4fa3;
}

.rf-mc-chip-remove{
width:22px;
height:22px;
border-radius:50%;
border:none;
background:#fee2e2;
color:#dc2626;
font-size:.7rem;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
flex-shrink:0;
}

.rf-mc-empty-side{
color:#9ca3af;
font-size:.85rem;
text-align:center;
padding:18px 10px;
}

.rf-mc-total{
background:#fff;
border:2px dashed #ffe5f3;
border-radius:15px;
padding:14px;
text-align:center;
}

.rf-mc-total span{
display:block;
font-size:.75rem;
color:#9ca3af;
margin-bottom:4px;
}

.rf-mc-total strong{
font-size:1.4rem;
font-weight:900;
color:#ff4fa3;
}

.rf-mc-verdict{
margin-top:25px;
padding:22px;
border-radius:18px;
text-align:center;
font-weight:800;
font-size:1.05rem;
background:#f3f4f6;
color:#6b7280;
transition:.3s;
}

.rf-mc-verdict.rf-fair{background:#dcfce7;color:#16a34a;}
.rf-mc-verdict.rf-overpay{background:#fee2e2;color:#dc2626;}
.rf-mc-verdict.rf-underpay{background:#fef3c7;color:#ca8a04;}

.rf-mc-clear{
display:block;
margin:18px auto 0;
padding:10px 22px;
border:none;
border-radius:999px;
background:#f3f4f6;
color:#6b7280;
font-weight:700;
font-size:.8rem;
cursor:pointer;
}

.rf-mc-clear:hover{
background:#e5e7eb;
}

@media(max-width:700px){
.rf-mc-sides{grid-template-columns:1fr;}
.rf-mc-vs{padding:5px 0;}
.rf-mc-box{padding:22px;}
}

@media(max-width:700px){
.rf-compare-pickers{grid-template-columns:1fr;}
.rf-compare-vs{display:none;}
.rf-compare-result{grid-template-columns:1fr;}
.rf-compare-box{padding:25px;}
}
