.step{font-weight:800;font-size:1rem;margin:0 0 10px;color:var(--navy)}
.tiers{display:grid;gap:10px;margin-bottom:16px}
.tier{border:2px solid var(--line);border-radius:14px;background:#fff;transition:border-color .15s,background .15s}
.tier:hover{border-color:#9cc9ff}
.tier.sel{border-color:var(--blue);background:var(--alt)}
.tier-in{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}
.tier-in input{position:absolute;opacity:0;width:1px;height:1px}
.dot{flex:0 0 22px;height:22px;border-radius:50%;border:2px solid #b9c3d1;background:#fff}
.tier.sel .dot{border:6px solid var(--blue)}
.tier-in input:focus-visible~.dot{outline:3px solid var(--blue);outline-offset:2px}
.tier-l{flex:1;display:flex;flex-direction:column;min-width:0}
.tier-t{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tier-t strong{font-size:1.1rem;margin-right:2px}
.pill{font-style:normal;background:var(--blue);color:#fff;font-size:.68rem;font-weight:800;border-radius:6px;padding:3px 8px;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.pill.navy{background:var(--navy)}
.pill.free{background:#1a9e55}
.tier-l small{color:var(--muted);font-size:.88rem}
.tier-r{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.tier-r strong{font-size:1.15rem;color:var(--ink)}
.tier-r s{color:var(--muted);font-size:.85rem}
.tier-slots{padding:0 16px 14px 50px}
.tier-slots .lbl{display:block;font-size:.8rem;color:var(--muted);margin-bottom:6px}
.slot-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.slot-img{width:48px;height:48px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid var(--line)}
.slot-sel{flex:1;max-width:260px;font:inherit;padding:10px 12px;border:1px solid #b8d4f5;border-radius:8px;background:#fff;color:var(--ink);min-width:0}
@media(max-width:420px){.tier-slots{padding-left:16px}}
.note{font-size:.85rem;color:var(--muted);margin:8px 0 0}
.cart-line{display:flex;justify-content:space-between;padding:6px 0;color:var(--muted)}
.cart-line.disc{color:var(--navy);font-weight:700}
.ship{background:var(--alt);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-weight:600;color:var(--navy)}
.ship.ok{background:#e3f4ff}