/* ------- rate card ------- */
.rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:24px}
.rate{border:2px solid #fff;border-radius:18px;background:var(--panel);padding:22px;position:relative;box-shadow:var(--shadow-sm);transition:transform .35s var(--spring)}
.rate:hover{transform:translateY(-6px)}
.rate::after{content:'';position:absolute;top:-9px;left:18px;width:46px;height:18px;
  background:url('../../../assets/kawaii/f2u/bow_pink.png') no-repeat center / contain;image-rendering:pixelated;transform:rotate(-6deg)}
.rate:nth-child(2n)::after{background-image:url('../../../assets/kawaii/f2u/bow_blue.png');transform:rotate(5deg);width:34px;height:20px}
.rate:nth-child(3n)::after{background-image:url('../../../assets/kawaii/f2u/bow_lilac.png');transform:rotate(-4deg)}
.rate::before{content:'✦';position:absolute;top:10px;right:14px;color:var(--pink);font-size:15px;opacity:0;transition:opacity .25s,transform .4s var(--spring)}
.rate:hover::before{opacity:1;transform:rotate(40deg) scale(1.25)}
.rate .tag{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;color:#7e6da1;margin-bottom:8px;text-transform:uppercase;font-weight:600}
.rate .nm{font-weight:700;font-size:15px}
.rate .pr{font-family:var(--disp);font-size:42px;font-weight:640;font-variation-settings:'SOFT' 100;line-height:1;color:var(--rose-deep);margin:8px 0 2px}
.rate .pr span{font-size:15px;color:var(--dim);font-family:var(--mono)}
.rate .mk{font-family:var(--mono);font-size:10px;letter-spacing:.5px;color:var(--dim);margin-bottom:12px}
.rate ul{list-style:none;font-size:13px;color:var(--dim)}
.rate li{padding:6px 0 6px 15px;position:relative;border-bottom:1px dashed var(--line)}
.rate li:last-child{border-bottom:0}
.rate li::before{content:'♡';position:absolute;left:0;color:var(--pink);font-size:11px;top:6px}
.rate .start{position:absolute;top:-11px;right:14px;font-family:var(--mono);font-size:9px;letter-spacing:1.5px;background:var(--rose);color:#fff;padding:4px 10px;border-radius:999px;box-shadow:var(--shadow-sm)}
.alacarte{margin-top:26px;border:2px dashed var(--line2);border-radius:16px;padding:18px 22px;display:flex;flex-wrap:wrap;gap:10px 26px;background:var(--panel2)}
.alacarte span{font-family:var(--mono);font-size:11px;letter-spacing:.4px;color:var(--dim)}
.alacarte b{color:var(--rose-deep);font-weight:700}
.rate-fine{margin-top:18px;font-family:var(--mono);font-size:10px;letter-spacing:.8px;color:var(--dim)}
.rate-fine b{color:var(--amber);font-weight:600}
